use ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. my $uname=`uname`; my $params=undef; if ( $uname =~ /SunOS/i ) { # $params->{OPTIMIZE} = " "; # $params->{CCCDLFLAGS} = " -L$ENV{OPENSSL_PREFIX}/lib "; # $params->{OTHERLDFLAGS} = "-R${OPENSSL_PREFIX}/lib"; } $params->{NAME} = "OpenCA::OpenSSL"; $params->{VERSION_FROM} = "OpenSSL.pm"; $params->{LIBS} = ["-L$ENV{OPENSSL_PREFIX}/lib -lcrypto -lssl"]; $params->{LDFLAGS} = "-L$ENV{OPENSSL_PREFIX}/lib -lcrypto -lssl"; $params->{PREREQ_PM} = {'X500::DN' => '0.27'}; $params->{INC} = "-I. -I$ENV{OPENSSL_PREFIX}/include"; # $params->{EXTRALIBS} = "-L$ENV{OPENSSL_PREFIX}/lib -lcrypto -lssl"; # $params->{LDLOADLIBS} = "-L$ENV{OPENSSL_PREFIX}/lib -lcrypto -lssl"; # $params->{LD_RUN_PATH} = "$ENV{OPENSSL_PREFIX}/lib"; WriteMakefile ( %{ $params } ); # WriteMakefile( # 'NAME' => 'OpenCA::OpenSSL', # 'VERSION_FROM' => 'OpenSSL.pm', # finds $VERSION # 'LIBS' => ["-L$ENV{OPENSSL_PREFIX}/lib -lcrypto -lssl"], # 'PREREQ_PM' => {'X500::DN' => '0.27'}, # 'INC' => "-I. -I$ENV{OPENSSL_PREFIX}/include" # ); if (eval {require ExtUtils::Constant; 1}) { # If you edit these definitions to change the constants used by this module, # you will need to use the generated const-c.inc and const-xs.inc # files to replace their "fallback" counterparts before distributing your # changes. my @names = (qw(CTX_TEST EXFLAG_BCONS EXFLAG_CA EXFLAG_INVALID EXFLAG_KUSAGE EXFLAG_NSCERT EXFLAG_SET EXFLAG_SS EXFLAG_V1 EXFLAG_XKUSAGE GEN_DIRNAME GEN_DNS GEN_EDIPARTY GEN_EMAIL GEN_IPADD GEN_OTHERNAME GEN_RID GEN_URI GEN_X400 KU_CRL_SIGN KU_DATA_ENCIPHERMENT KU_DECIPHER_ONLY KU_DIGITAL_SIGNATURE KU_ENCIPHER_ONLY KU_KEY_AGREEMENT KU_KEY_CERT_SIGN KU_KEY_ENCIPHERMENT KU_NON_REPUDIATION NS_OBJSIGN NS_OBJSIGN_CA NS_SMIME NS_SMIME_CA NS_SSL_CA NS_SSL_CLIENT NS_SSL_SERVER X509V3_EXT_CTX_DEP X509V3_EXT_DYNAMIC X509V3_EXT_MULTILINE X509V3_F_COPY_EMAIL X509V3_F_COPY_ISSUER X509V3_F_DO_EXT_CONF X509V3_F_DO_EXT_I2D X509V3_F_HEX_TO_STRING X509V3_F_I2S_ASN1_ENUMERATED X509V3_F_I2S_ASN1_INTEGER X509V3_F_I2V_AUTHORITY_INFO_ACCESS X509V3_F_NOTICE_SECTION X509V3_F_NREF_NOS X509V3_F_POLICY_SECTION X509V3_F_R2I_CERTPOL X509V3_F_S2I_ASN1_IA5STRING X509V3_F_S2I_ASN1_INTEGER X509V3_F_S2I_ASN1_OCTET_STRING X509V3_F_S2I_ASN1_SKEY_ID X509V3_F_S2I_S2I_SKEY_ID X509V3_F_STRING_TO_HEX X509V3_F_SXNET_ADD_ASC X509V3_F_SXNET_ADD_ID_INTEGER X509V3_F_SXNET_ADD_ID_ULONG X509V3_F_SXNET_GET_ID_ASC X509V3_F_SXNET_GET_ID_ULONG X509V3_F_V2I_ACCESS_DESCRIPTION X509V3_F_V2I_ASN1_BIT_STRING X509V3_F_V2I_AUTHORITY_KEYID X509V3_F_V2I_BASIC_CONSTRAINTS X509V3_F_V2I_CRLD X509V3_F_V2I_EXT_KU X509V3_F_V2I_GENERAL_NAME X509V3_F_V2I_GENERAL_NAMES X509V3_F_V3_GENERIC_EXTENSION X509V3_F_X509V3_ADD_VALUE X509V3_F_X509V3_EXT_ADD X509V3_F_X509V3_EXT_ADD_ALIAS X509V3_F_X509V3_EXT_CONF X509V3_F_X509V3_EXT_I2D X509V3_F_X509V3_GET_VALUE_BOOL X509V3_F_X509V3_PARSE_LIST X509V3_F_X509_PURPOSE_ADD X509V3_R_BAD_IP_ADDRESS X509V3_R_BAD_OBJECT X509V3_R_BN_DEC2BN_ERROR X509V3_R_BN_TO_ASN1_INTEGER_ERROR X509V3_R_DUPLICATE_ZONE_ID X509V3_R_ERROR_CONVERTING_ZONE X509V3_R_ERROR_IN_EXTENSION X509V3_R_EXPECTED_A_SECTION_NAME X509V3_R_EXTENSION_NAME_ERROR X509V3_R_EXTENSION_NOT_FOUND X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED X509V3_R_EXTENSION_VALUE_ERROR X509V3_R_ILLEGAL_HEX_DIGIT X509V3_R_INVALID_BOOLEAN_STRING X509V3_R_INVALID_EXTENSION_STRING X509V3_R_INVALID_NAME X509V3_R_INVALID_NULL_ARGUMENT X509V3_R_INVALID_NULL_NAME X509V3_R_INVALID_NULL_VALUE X509V3_R_INVALID_NUMBER X509V3_R_INVALID_NUMBERS X509V3_R_INVALID_OBJECT_IDENTIFIER X509V3_R_INVALID_OPTION X509V3_R_INVALID_POLICY_IDENTIFIER X509V3_R_INVALID_SECTION X509V3_R_INVALID_SYNTAX X509V3_R_ISSUER_DECODE_ERROR X509V3_R_MISSING_VALUE X509V3_R_NEED_ORGANIZATION_AND_NUMBERS X509V3_R_NO_CONFIG_DATABASE X509V3_R_NO_ISSUER_CERTIFICATE X509V3_R_NO_ISSUER_DETAILS X509V3_R_NO_POLICY_IDENTIFIER X509V3_R_NO_PUBLIC_KEY X509V3_R_NO_SUBJECT_DETAILS X509V3_R_ODD_NUMBER_OF_DIGITS X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS X509V3_R_UNABLE_TO_GET_ISSUER_KEYID X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT X509V3_R_UNKNOWN_EXTENSION X509V3_R_UNKNOWN_EXTENSION_NAME X509V3_R_UNKNOWN_OPTION X509V3_R_UNSUPPORTED_OPTION X509V3_R_USER_TOO_LONG X509_PURPOSE_ANY X509_PURPOSE_CRL_SIGN X509_PURPOSE_DYNAMIC X509_PURPOSE_DYNAMIC_NAME X509_PURPOSE_MAX X509_PURPOSE_MIN X509_PURPOSE_NS_SSL_SERVER X509_PURPOSE_SMIME_ENCRYPT X509_PURPOSE_SMIME_SIGN X509_PURPOSE_SSL_CLIENT X509_PURPOSE_SSL_SERVER XKU_CODE_SIGN XKU_SGC XKU_SMIME XKU_SSL_CLIENT XKU_SSL_SERVER)); ExtUtils::Constant::WriteConstants( NAME => 'OpenCA::OpenSSL::Fast', NAMES => \@names, DEFAULT_TYPE => 'IV', C_FILE => 'const-c.inc', XS_FILE => 'const-xs.inc', ); } else { use File::Copy; use File::Spec; foreach my $file ('const-c.inc', 'const-xs.inc') { my $fallback = File::Spec->catfile('fallback', $file); copy ($fallback, $file) or die "Can't copy $fallback to $file: $!"; } }