@@ -2706,6 +2706,96 @@ ifeq ($(HAVE_TEST_DRIVERS), 1)
27062706 OBJ += input/drivers/test_input.o
27072707endif
27082708
2709+ ifneq (,$(filter 1,$(HAVE_SMBCLIENT) $(HAVE_BUILTINSMBCLIENT)))
2710+ DEFINES += -DHAVE_SMBCLIENT
2711+
2712+ ifeq ($(HAVE_SMBCLIENT),1)
2713+ # system libsmb2
2714+ ifeq ($(shell pkg-config --exists libsmb2 && echo yes),yes)
2715+ CFLAGS += $(shell pkg-config --cflags libsmb2)
2716+ LIBS += $(shell pkg-config --libs libsmb2)
2717+ else
2718+ LIBS += -lsmb2
2719+ endif
2720+ else ifeq ($(HAVE_BUILTINSMBCLIENT),1)
2721+ # builtin libsmb2
2722+ ifneq ($(findstring Win32,$(OS)),)
2723+ CFLAGS += -D_WINDOWS -DWIN32_LEAN_AND_MEAN
2724+ CFLAGS += -DNEED_RANDOM -DNEED_SRANDOM -DNEED_GETLOGIN_R
2725+ endif
2726+ INCLUDE_DIRS += -I$(DEPS_DIR)/libsmb2/include
2727+ INCLUDE_DIRS += -I$(DEPS_DIR)/libsmb2/include/smb2
2728+ CFLAGS += "-D_U_=__attribute__((unused))"
2729+ CFLAGS += -DHAVE_TIME_H -DHAVE_FCNTL_H -DHAVE_UNISTD_H
2730+ CFLAGS += -DHAVE_STDLIB_H -DSTDC_HEADERS
2731+ CFLAGS += -DHAVE_STRING_H
2732+ CFLAGS += -DHAVE_LINGER
2733+ ifeq ($(findstring Win32,$(OS)),)
2734+ CFLAGS += -DHAVE_SYS_UIO_H
2735+ CFLAGS += -DHAVE_POLL_H -DHAVE_NETDB_H
2736+ CFLAGS += -DHAVE_NETINET_TCP_H -DHAVE_NETINET_IN_H
2737+ CFLAGS += -DHAVE_SYS_SOCKET_H -DHAVE_ARPA_INET_H
2738+ endif
2739+ OBJ += \
2740+ deps/libsmb2/lib/aes.o \
2741+ deps/libsmb2/lib/aes_apple.o \
2742+ deps/libsmb2/lib/aes128ccm.o \
2743+ deps/libsmb2/lib/asn1-ber.o \
2744+ deps/libsmb2/lib/aes_reference.o \
2745+ deps/libsmb2/lib/alloc.o \
2746+ deps/libsmb2/lib/compat.o \
2747+ deps/libsmb2/lib/dcerpc.o \
2748+ deps/libsmb2/lib/dcerpc-lsa.o \
2749+ deps/libsmb2/lib/dcerpc-srvsvc.o \
2750+ deps/libsmb2/lib/errors.o \
2751+ deps/libsmb2/lib/hmac.o \
2752+ deps/libsmb2/lib/hmac-md5.o \
2753+ deps/libsmb2/lib/init.o \
2754+ deps/libsmb2/lib/krb5-wrapper.o \
2755+ deps/libsmb2/lib/libsmb2.o \
2756+ deps/libsmb2/lib/md4c.o \
2757+ deps/libsmb2/lib/md5.o \
2758+ deps/libsmb2/lib/ntlmssp.o \
2759+ deps/libsmb2/lib/pdu.o \
2760+ deps/libsmb2/lib/sha1.o \
2761+ deps/libsmb2/lib/sha224-256.o \
2762+ deps/libsmb2/lib/sha384-512.o \
2763+ deps/libsmb2/lib/smb2-cmd-close.o \
2764+ deps/libsmb2/lib/smb2-cmd-create.o \
2765+ deps/libsmb2/lib/smb2-cmd-echo.o \
2766+ deps/libsmb2/lib/smb2-cmd-error.o \
2767+ deps/libsmb2/lib/smb2-cmd-flush.o \
2768+ deps/libsmb2/lib/smb2-cmd-ioctl.o \
2769+ deps/libsmb2/lib/smb2-cmd-lock.o \
2770+ deps/libsmb2/lib/smb2-cmd-logoff.o \
2771+ deps/libsmb2/lib/smb2-cmd-negotiate.o \
2772+ deps/libsmb2/lib/smb2-cmd-oplock-break.o \
2773+ deps/libsmb2/lib/smb2-cmd-notify-change.o \
2774+ deps/libsmb2/lib/smb2-cmd-query-directory.o \
2775+ deps/libsmb2/lib/smb2-cmd-query-info.o \
2776+ deps/libsmb2/lib/smb2-cmd-read.o \
2777+ deps/libsmb2/lib/smb2-cmd-session-setup.o \
2778+ deps/libsmb2/lib/smb2-cmd-set-info.o \
2779+ deps/libsmb2/lib/smb2-cmd-tree-connect.o \
2780+ deps/libsmb2/lib/smb2-cmd-tree-disconnect.o \
2781+ deps/libsmb2/lib/smb2-cmd-write.o \
2782+ deps/libsmb2/lib/smb2-data-file-info.o \
2783+ deps/libsmb2/lib/smb2-data-filesystem-info.o \
2784+ deps/libsmb2/lib/smb2-data-security-descriptor.o \
2785+ deps/libsmb2/lib/smb2-data-reparse-point.o \
2786+ deps/libsmb2/lib/smb2-share-enum.o \
2787+ deps/libsmb2/lib/smb2-signing.o \
2788+ deps/libsmb2/lib/smb3-seal.o \
2789+ deps/libsmb2/lib/socket.o \
2790+ deps/libsmb2/lib/spnego-wrapper.o \
2791+ deps/libsmb2/lib/sync.o \
2792+ deps/libsmb2/lib/timestamps.o \
2793+ deps/libsmb2/lib/usha.o \
2794+ deps/libsmb2/lib/unicode.o
2795+ endif
2796+
2797+ OBJ += $(LIBRETRO_COMM_DIR)/vfs/vfs_implementation_smb.o
2798+ endif
27092799
27102800#####################################
27112801### Android Play Feature Delivery ###
0 commit comments