Commit 10f6176f3d

Andrew Kelley <andrew@ziglang.org>
2019-10-16 19:12:35
only look for .defs when needed; remove samsrv.dll cross compiling support
previously zig would look for all the .defs even when not needed, wasting time. also, we only had samsrv definitions for some architectures. remove cross compiling support for this.
1 parent 5bfea3f
Changed files (3)
lib
libc
mingw
lib64
libarm32
src
lib/libc/mingw/lib64/samsrv.def
@@ -1,170 +0,0 @@
-; 
-; Exports of file SAMSRV.dll
-;
-; Autogenerated by gen_exportdef
-; Written by Kai Tietz, 2007
-;
-LIBRARY SAMSRV.dll
-EXPORTS
-SamIAccountRestrictions
-SamIAddDSNameToAlias
-SamIAddDSNameToGroup
-SamIAmIGC
-SamIChangePasswordForeignUser
-SamIChangePasswordForeignUser2
-SamIConnect
-SamICreateAccountByRid
-SamIDemote
-SamIDemoteUndo
-SamIDoFSMORoleChange
-SamIDsCreateObjectInDomain
-SamIDsSetObjectInformation
-SamIEnumerateAccountRids
-SamIEnumerateInterdomainTrustAccountsForUpgrade
-SamIFloatingSingleMasterOpEx
-SamIFreeSidAndAttributesList
-SamIFreeSidArray
-SamIFreeVoid
-SamIFree_SAMPR_ALIAS_INFO_BUFFER
-SamIFree_SAMPR_DISPLAY_INFO_BUFFER
-SamIFree_SAMPR_DOMAIN_INFO_BUFFER
-SamIFree_SAMPR_ENUMERATION_BUFFER
-SamIFree_SAMPR_GET_GROUPS_BUFFER
-SamIFree_SAMPR_GET_MEMBERS_BUFFER
-SamIFree_SAMPR_GROUP_INFO_BUFFER
-SamIFree_SAMPR_PSID_ARRAY
-SamIFree_SAMPR_RETURNED_USTRING_ARRAY
-SamIFree_SAMPR_SR_SECURITY_DESCRIPTOR
-SamIFree_SAMPR_ULONG_ARRAY
-SamIFree_SAMPR_USER_INFO_BUFFER
-SamIFree_UserInternal6Information
-SamIGCLookupNames
-SamIGCLookupSids
-SamIGetAliasMembership
-SamIGetBootKeyInformation
-SamIGetDefaultAdministratorName
-SamIGetDefaultComputersContainer
-SamIGetFixedAttributes
-SamIGetInterdomainTrustAccountPasswordsForUpgrade
-SamIGetPrivateData
-SamIGetResourceGroupMembershipsTransitive
-SamIGetSerialNumberDomain
-SamIGetUserLogonInformation
-SamIGetUserLogonInformation2
-SamIGetUserLogonInformationEx
-SamIHandleObjectUpdate
-SamIImpersonateNullSession
-SamIIncrementPerformanceCounter
-SamIInitialize
-SamIIsAttributeProtected
-SamIIsDownlevelDcUpgrade
-SamIIsExtendedSidMode
-SamIIsRebootAfterPromotion
-SamIIsSetupInProgress
-SamILoadDownlevelDatabase
-SamILoopbackConnect
-SamIMixedDomain
-SamIMixedDomain2
-SamINT4UpgradeInProgress
-SamINetLogonPing
-SamINotifyDelta
-SamINotifyRoleChange
-SamINotifyServerDelta
-SamIOpenAccount
-SamIOpenUserByAlternateId
-SamIPromote
-SamIPromoteUndo
-SamIQueryServerRole
-SamIQueryServerRole2
-SamIRemoveDSNameFromAlias
-SamIRemoveDSNameFromGroup
-SamIReplaceDownlevelDatabase
-SamIResetBadPwdCountOnPdc
-SamIRetrievePrimaryCredentials
-SamIRevertNullSession
-SamISameSite
-SamISetAuditingInformation
-SamISetMixedDomainFlag
-SamISetPasswordForeignUser
-SamISetPasswordForeignUser2
-SamISetPasswordInfoOnPdc
-SamISetPrivateData
-SamISetSerialNumberDomain
-SamIStorePrimaryCredentials
-SamIUPNFromUserHandle
-SamIUnLoadDownlevelDatabase
-SamIUpdateLogonStatistics
-SampAbortSingleLoopbackTask
-SampAccountControlToFlags
-SampAcquireSamLockExclusive
-SampAcquireWriteLock
-SampCommitBufferedWrites
-SampConvertNt4SdToNt5Sd
-SampDsChangePasswordUser
-SampFlagsToAccountControl
-SampGetDefaultSecurityDescriptorForClass
-SampGetSerialNumberDomain2
-SampInitializeRegistry
-SampInitializeSdConversion
-SampInvalidateDomainCache
-SampInvalidateRidRange
-SampIsAuditingEnabled
-SampNetLogonNotificationRequired
-SampNotifyAuditChange
-SampNotifyReplicatedInChange
-SampProcessSingleLoopbackTask
-SampReleaseSamLockExclusive
-SampReleaseWriteLock
-SampRtlConvertUlongToUnicodeString
-SampSetSerialNumberDomain2
-SampUsingDsData
-SampWriteGroupType
-SamrAddMemberToAlias
-SamrAddMemberToGroup
-SamrAddMultipleMembersToAlias
-SamrChangePasswordUser
-SamrCloseHandle
-SamrCreateAliasInDomain
-SamrCreateGroupInDomain
-SamrCreateUser2InDomain
-SamrCreateUserInDomain
-SamrDeleteAlias
-SamrDeleteGroup
-SamrDeleteUser
-SamrEnumerateAliasesInDomain
-SamrEnumerateDomainsInSamServer
-SamrEnumerateGroupsInDomain
-SamrEnumerateUsersInDomain
-SamrGetAliasMembership
-SamrGetGroupsForUser
-SamrGetMembersInAlias
-SamrGetMembersInGroup
-SamrGetUserDomainPasswordInformation
-SamrLookupDomainInSamServer
-SamrLookupIdsInDomain
-SamrLookupNamesInDomain
-SamrOpenAlias
-SamrOpenDomain
-SamrOpenGroup
-SamrOpenUser
-SamrQueryDisplayInformation
-SamrQueryInformationAlias
-SamrQueryInformationDomain
-SamrQueryInformationGroup
-SamrQueryInformationUser
-SamrQuerySecurityObject
-SamrRemoveMemberFromAlias
-SamrRemoveMemberFromForeignDomain
-SamrRemoveMemberFromGroup
-SamrRemoveMultipleMembersFromAlias
-SamrRidToSid
-SamrSetInformationAlias
-SamrSetInformationDomain
-SamrSetInformationGroup
-SamrSetInformationUser
-SamrSetMemberAttributesOfGroup
-SamrSetSecurityObject
-SamrShutdownSamServer
-SamrTestPrivateFunctionsDomain
-SamrTestPrivateFunctionsUser
-SamrUnicodeChangePasswordUser2
lib/libc/mingw/libarm32/samsrv.def
@@ -1,328 +0,0 @@
-;
-; Definition file of SAMSRV.dll
-; Automatic generated by gendef
-; written by Kai Tietz 2008-2014
-;
-LIBRARY "SAMSRV.dll"
-EXPORTS
-RtlDeleteElementGenericTable2
-RtlInitializeGenericTable2
-RtlInsertElementGenericTable2
-RtlLookupElementGenericTable2
-SAM_MIDL_user_allocate
-SAM_MIDL_user_free
-SamDsExtAlloc
-SamDsExtFree
-SamIAccountRestrictions
-SamIAddDSNameToAlias
-SamIChangePasswordForeignUser
-SamIClaimIsValid
-SamIConnect
-SamIConvertSecurityAttributesToClaimsBlob
-SamICopyCurrentDomainAccountSettings
-SamICreateKrbTgt
-SamIDecodeClaimsBlob
-SamIDecodeClaimsBlobIntoClaimsSet
-SamIDecodeClaimsBlobToAuthz
-SamIDemote
-SamIDemoteUndo
-SamIDoFSMORoleChange
-SamIFreeAuthzSecurityAttributesInfo
-SamIFreeClaimsBlob
-SamIFreeDecodedClaimsSet
-SamIFreeLookupNamesInfo
-SamIFreeLookupSidsInfo
-SamIFreeOidList
-SamIFreeRealmList
-SamIFreeSecurityAttributesInfo
-SamIFreeSidAndAttributesList
-SamIFreeSidArray
-SamIFreeVoid
-SamIFree_SAMPR_DISPLAY_INFO_BUFFER
-SamIFree_SAMPR_DOMAIN_INFO_BUFFER
-SamIFree_SAMPR_ENUMERATION_BUFFER
-SamIFree_SAMPR_GET_GROUPS_BUFFER
-SamIFree_SAMPR_RETURNED_USTRING_ARRAY
-SamIFree_SAMPR_ULONG_ARRAY
-SamIFree_SAMPR_USER_INFO_BUFFER
-SamIFree_UserInternal6Information
-SamIGetAliasMembership
-SamIGetConfigurationOidList
-SamIGetDefaultAdministratorName
-SamIGetResourceGroupMembershipsTransitive
-SamIGetUserLogonInformation
-SamIGetUserLogonInformation2
-SamIGetUserLogonInformation3
-SamIGetUserLogonInformationEx
-SamIHandleObjectUpdate
-SamIImpersonateNullSession
-SamIInitialize
-SamIIsDownlevelDcUpgrade
-SamIIsExtendedSidMode
-SamIIsRebootAfterPromotion
-SamIIsSetupInProgress
-SamILoadDownlevelDatabase
-SamILookupNamesBySid
-SamILookupNamesInDomain
-SamILookupSidsByName
-SamILoopbackConnect
-SamIMixedDomain
-SamIMixedDomain2
-SamINT4UpgradeInProgress
-SamINetLogonPing
-SamINotifyRoleChange
-SamIOpenUserByAlternateId
-SamIPromote
-SamIPromoteUndo
-SamIPurgeSecrets
-SamIQueryAccountSecretsCachability
-SamIQueryCapabilities
-SamIQueryRealmList
-SamIQueryServerRole
-SamIQueryServerRole2
-SamIRemoveDSNameFromAlias
-SamIReplaceDownlevelDatabase
-SamIReplicateAccountData
-SamIResetBadPwdCountOnPdc
-SamIRetrieveMultiplePrimaryCredentials
-SamIRetrievePrimaryCredentials
-SamIRevertNullSession
-SamIScorePassword
-SamISetAuditingInformation
-SamISetMachinePassword
-SamISetPasswordForeignUser2
-SamISetPasswordForeignUser3
-SamISetPasswordInfoOnDc
-SamIStorePrimaryCredentials
-SamITransformClaims
-SamIUPNFromUserHandle
-SamIUnLoadDownlevelDatabase
-SamIUninitialize
-SamIUpdateLogonStatistics
-SamIValidateAccountName
-SamIValidateNewAccountName
-SampAccountControlToFlags
-SampAcquireReadLock
-SampAcquireSamLockExclusive
-SampAcquireWriteLock
-SampAddAccountToGroupMembers
-SampAddAccountsAndApplyMemberships
-SampAddDeltaTime
-SampAddNonLocalDomainRelativeMemberships
-SampAddSameDomainMemberToGlobalOrUniversalGroup
-SampAddUserToGroup
-SampAlInvalidateAliasInformation
-SampAllocateNextCurrentRidFromIndex
-SampApplyDomainUpdatesForAllDomains
-SampAssignPrimaryGroup
-SampAuditAccountEnableDisableChange
-SampAuditAccountNameChange
-SampAuditAnyEvent
-SampAuditGroupTypeChange
-SampAuditSidHistory
-SampBuildDsNameFromSid
-SampBuildSamProtection
-SampCalculateLmAndNtOwfPasswords
-SampChangeAliasAccountName
-SampChangeGroupAccountName
-SampChangeUserAccountName
-SampCheckForAccountLockout
-SampCheckGroupTypeBits
-SampCheckSidType
-SampCommitBufferedWrites
-SampCompareDisplayStrings
-SampComputePasswordExpired
-SampConnect
-SampConvertUiListToApiList
-SampCreateAccountContext2
-SampCreateAliasInDomain
-SampCreateContextEx
-SampCreateDefaultUPN
-SampCreateFullSid
-SampCreateGroupInDomain
-SampCreateUserInDomain
-SampCurrentThreadOwnsLock
-SampDeReferenceContext
-SampDecrementActiveThreads
-SampDecryptCredentialData
-SampDeleteContext
-SampDeleteDsDirsToDeleteKey
-SampDeleteKeyForPostBootPromote
-SampDeltaChangeNotify
-SampDsChangePasswordUser
-SampDsConvertReadAttrBlock
-SampDsGetPrimaryDomainStart
-SampDsInitializeSingleDomain
-SampDsIsRunning
-SampDsMakeAttrBlock
-SampDsSetBuiltinDomainPolicy
-SampDsSetDomainPolicy
-SampDsSetPasswordUser
-SampDsUpdateContextAttributes
-SampDuplicateGroupInfo
-SampDuplicateMachineInfo
-SampDuplicateOemGroupInfo
-SampDuplicateOemUserInfo
-SampDuplicateUnicodeString
-SampDuplicateUserInfo
-SampEncryptCredentialData
-SampExamineSid
-SampExtendDefinedDomains
-SampFlagsToAccountControl
-SampFreeGroupInfo
-SampFreeMachineInfo
-SampFreeOemGroupInfo
-SampFreeOemUserInfo
-SampFreeUnicodeString
-SampFreeUserInfo
-SampGenerateRandomPassword
-SampGetAccessAttribute
-SampGetAccountDomainInfo
-SampGetBehaviorVersion
-SampGetCurrentOwnerAndPrimaryGroup
-SampGetDisableOutboundRSO
-SampGetDisableRSOOnPDCForward
-SampGetDisableResetBadPwdCountForward
-SampGetDisableSingleObjectRepl
-SampGetDnsDomainNameFromIndex
-SampGetDomainContextFromIndex
-SampGetDomainObjectFromAccountContext
-SampGetDomainObjectFromIndex
-SampGetDomainServerRoleFromIndex
-SampGetDomainSidFromAccountContext
-SampGetDomainSidFromIndex
-SampGetDomainSidListForSam
-SampGetDomainUpgradeTasks
-SampGetDownLevelDomainControllersPresent
-SampGetExtendedAttribute
-SampGetExternalNameFromIndex
-SampGetFixedAttributes
-SampGetHasNeverTime
-SampGetIgnoreGCFailures
-SampGetLogLevel
-SampGetNT4UpgradeInProgress
-SampGetNewAccountSecurityNt4
-SampGetNextUnmodifiedRidFromIndex
-SampGetNoGcLogonEnforceKerberosIpCheck
-SampGetNoGcLogonEnforceNTLMCheck
-SampGetObjectSD
-SampGetObjectTypeNameFromIndex
-SampGetPasswordMustChangeWithUF_UAC
-SampGetReverseMembershipTransitive
-SampGetSamSubsystemName
-SampGetSerialNumberDomain2
-SampGetServerObjectName
-SampGetSidArrayAttribute
-SampGetSidAttribute
-SampGetSuccessAccountAuditingEnabled
-SampGetUlongArrayAttribute
-SampGetUnicodeStringAttribute
-SampGetUserAccountControlComputed
-SampGetUserAccountSettings
-SampGetWillNeverTime
-SampImpersonateClient
-SampIncreaseBadPwdCountLoopback
-SampIncrementActiveThreads
-SampIncrementNetlogonChangeLogSerialNumber
-SampInvalidateDomainCache
-SampIsAccountBuiltIn
-SampIsAuditingEnabled
-SampIsBuiltinDomain
-SampIsDomainHosted
-SampIsServiceRunning
-SampIsSetupInProgress
-SampLogPrint
-SampLookupContext
-SampMarkPerAttributeInvalidFromWhichFields
-SampNeedUserAccountSettingsDuringQuery
-SampNetLogonNotificationRequired
-SampNotifyAuditChange
-SampNotifyReplicatedInChange
-SampPasswordChangeNotify
-SampPasswordChangeNotifyWorker
-SampPositionOfHighestBit
-SampQueryCapabilities
-SampQueryInformationUserInternal
-SampReadExtendedAttributes
-SampRecordSystemSchemaVerisonInRegistry
-SampReferenceContext
-SampRegObjToDsObj
-SampReleaseReadLock
-SampReleaseSamLockExclusive
-SampReleaseWriteLock
-SampRemoveAccountFromGroupMembers
-SampRemoveSameDomainMemberFromGlobalOrUniversalGroup
-SampRemoveUserFromGroup
-SampRenameKrbtgtAccount
-SampReplaceUserLogonHours
-SampReplaceUserV1aFixed
-SampRetrieveGroupV1Fixed
-SampRetrieveMultipleCredentials
-SampRetrieveUserPasswords
-SampRetrieveUserV1aFixed
-SampRevertToSelf
-SampRtlWellKnownPrivilegeCheck
-SampSetAccessAttribute
-SampSetAdminPassword
-SampSetAttributeAccess
-SampSetComputerObjectDsName
-SampSetDSRMPasswordWorker
-SampSetExtendedAttributeAccess
-SampSetFixedAttributes
-SampSetGlobalDsSids
-SampSetPassword
-SampSetPasswordInfoOnPdcByHandle
-SampSetPasswordInfoOnPdcByIndex
-SampSetSerialNumberDomain2
-SampSetTransactionDomain
-SampSetTransactionWithinDomain
-SampSetUnicodeStringAttribute
-SampSetUserAccountControl
-SampSplitSid
-SampStoreObjectAttributes
-SampStringFromGuid
-SampTraceEvent
-SampUpdateAccountDisabledFlag
-SampUpdateComputedUserAccountControlBits
-SampUpdateMixedModeAndFindDomain
-SampUpdatePerformanceCounters
-SampUpgradeUserParmsActual
-SampUsingDsData
-SampValidateDomainCacheCallback
-SampValidateDomainControllerCreation
-SampValidatePwdSettingAttempt
-SampValidateRegAttributes
-SampWriteEventLog
-SampWriteGroupType
-SamrAddMemberToAlias
-SamrAddMemberToGroup
-SamrCloseHandle
-SamrCreateUser2InDomain
-SamrCreateUserInDomain
-SamrDeleteAlias
-SamrDeleteGroup
-SamrDeleteUser
-SamrEnumerateUsersInDomain
-SamrEnumerateUsersInDomain2
-SamrGetAliasMembership
-SamrGetGroupsForUser
-SamrLookupIdsInDomain
-SamrLookupNamesInDomain
-SamrLookupNamesInDomain2
-SamrOpenAlias
-SamrOpenDomain
-SamrOpenGroup
-SamrOpenUser
-SamrQueryDisplayInformation
-SamrQueryInformationDomain
-SamrQueryInformationUser
-SamrQueryInformationUser2
-SamrQuerySecurityObject
-SamrRemoveMemberFromAlias
-SamrRemoveMemberFromGroup
-SamrRidToSid
-SamrSetInformationAlias
-SamrSetInformationGroup
-SamrSetInformationUser
-SamrSetSecurityObject
-SamrValidatePassword
src/link.cpp
@@ -576,7 +576,6 @@ static const MinGWDef mingw_def_list[] = {
     {"opengl32",false},
     {"rpcns4",  false},
     {"rpcrt4",  false},
-    {"samsrv",  false},
     {"scarddlg",false},
     {"setupapi",false},
     {"shell32", true},
@@ -2184,17 +2183,17 @@ static void add_mingw_link_args(LinkJob *lj, bool is_library) {
         const char *name = mingw_def_list[def_i].name;
         const bool always_link = mingw_def_list[def_i].always_link;
 
-        Buf lib_path = BUF_INIT;
-        Error err = find_mingw_lib_def(lj, name, &lib_path);
-
-        if (err == ErrorFileNotFound) {
-            zig_panic("link: could not find .def file to build %s\n", name);
-        } else if (err != ErrorNone) {
-            zig_panic("link: unable to check if .def file for %s exists: %s",
-                      name, err_str(err));
-        }
-
         if (always_link || is_linking_system_lib(g, name)) {
+            Buf lib_path = BUF_INIT;
+            Error err = find_mingw_lib_def(lj, name, &lib_path);
+
+            if (err == ErrorFileNotFound) {
+                zig_panic("link: could not find .def file to build %s\n", name);
+            } else if (err != ErrorNone) {
+                zig_panic("link: unable to check if .def file for %s exists: %s",
+                        name, err_str(err));
+            }
+
             lj->args.append(get_def_lib(g, name, &lib_path));
         }
     }