!include ..\sources.inc

MINORCOMP=apidll

TARGETNAME=setupapi

USE_MSVCRT=1

C_DEFINES=$(C_DEFINES) -DUNICODE -D_UNICODE -D_SETUPAPI_ -DFUSIONAWARE -D_CFGMGR32_ -DCHILDREGISTRATION -DIDR_MANIFEST=$(SXS_MANIFEST_RESOURCE_ID)

# To enable asserts, add: -DASSERTS_ON=1
# To enable memory debugging, use : -DMEM_DBG=1
# To enable heap validation, use : -DDBGHEAP_CHECK

NTTARGETFILE0=$(NTTARGETFILE0) $(O)\setupapi.def $(O)\spapip.def
NTTARGETFILES=$(O)\spapip.lib

# lz32.lib must be before kernl32p.lib
TARGETLIBS=\
    $(SDK_LIB_PATH)\lz32.lib        \
    $(SDK_LIB_PATH)\advapi32.lib    \
    $(SDK_LIB_PATH)\advapip.lib     \
    $(SDK_LIB_PATH)\cabinet.lib     \
    $(SDK_LIB_PATH)\crypt32.lib     \
    $(SDK_LIB_PATH)\gdi32.lib       \
    $(SDK_LIB_PATH)\imagehlp.lib    \
    $(SDK_LIB_PATH)\kernl32p.lib    \
    $(SDK_LIB_PATH)\mpr.lib         \
    $(SDK_LIB_PATH)\ole32.lib       \
    $(SDK_LIB_PATH)\rpcndr.lib      \
    $(SDK_LIB_PATH)\rpcrt4.lib      \
    $(SDK_LIB_PATH)\rpcutil.lib     \
    $(SDK_LIB_PATH)\scecli.lib      \
    $(SHELL_LIB_PATH)\shell32p.lib  \
    $(SHELL_LIB_PATH)\shfusion.lib  \
    $(SDK_LIB_PATH)\shlwapi.lib     \
    $(SDK_LIB_PATH)\user32.lib      \
    $(SDK_LIB_PATH)\version.lib     \
    $(SDK_LIB_PATH)\winspool.lib    \
    $(SDK_LIB_PATH)\wintrust.lib    \
    $(SDK_LIB_PATH)\userenv.lib     \
    $(SDK_LIB_PATH)\umpnplib.lib    \
    $(WINDOWS_LIB_PATH)\apphelp.lib \
    $(BASE_LIB_PATH)\setuplgu.lib  \

LINKLIBS=\
    $(PROJECT_LIB_PATH)\sputilsu.lib \
    $(SDK_LIB_PATH)\cfgmgr.lib

DELAYLOAD=\
    lz32.dll;       \
    cabinet.dll;    \
    crypt32.dll;    \
    imagehlp.dll;   \
    mpr.dll;        \
    ole32.dll;      \
    scecli.dll;     \
    shell32.dll;    \
    shlwapi.dll;    \
    userenv.dll;    \
    version.dll;    \
    winspool.drv;   \
    wintrust.dll;   \
    apphelp.dll

DLOAD_ERROR_HANDLER=kernel32

#
# Following dll's are LoadLibrary'd:
#
# comctl32.dll (fusionized)
# cdm.dll      (might be updated on the fly)
# setupdll.dll (only use if present)
# sfc.dll      (app compat fix for SQL who also have sfc.dll)
#


#
# Fusionize
#
SXS_ASSEMBLY_NAME=Microsoft.Windows.SetupAPI
SXS_ASSEMBLY_VERSION=1.0
SXS_ASSEMBLY_LANGUAGE_INDEPENDENT=1
SXS_MANIFEST=SetupAPI.Manifest
SXS_MANIFEST_IN_RESOURCES=1
SXS_MANIFEST_RESOURCE_ID=123
SXS_NO_BINPLACE=1
LINKER_FLAGS = $(LINKER_FLAGS) -ignore:4049,4217


PASS1_PUBLISH= \
   {$(O)\$(TARGETNAME).lib=$(SDK_LIB_PATH)\$(TARGETNAME).lib} \
   {$(O)\spapip.lib=$(PROJECT_LIB_PATH)\spapip.lib}