Skip to content

Commit f45d342

Browse files
author
Guenter Knauf
committed
NetWare build overhaul in order to compile on Linux.
Take 1. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1079407 13f79535-47bb-0310-9956-ffa450edef68
1 parent 2725b57 commit f45d342

119 files changed

Lines changed: 1086 additions & 1068 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

NWGNUmakefile

Lines changed: 50 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ SUBDIRS = \
4545
# paths to tools
4646
#
4747

48-
include $(AP_WORK)\build\NWGNUhead.inc
48+
include $(AP_WORK)/build/NWGNUhead.inc
4949

5050
#
5151
# build this level's files
@@ -170,7 +170,7 @@ NLM_SCREEN_NAME = Apache $(VERSION_STR) for NetWare
170170

171171
#
172172
# If this is specified, it will override VERSION value in
173-
# $(AP_WORK)\build\NWGNUenvironment.inc
173+
# $(AP_WORK)/build/NWGNUenvironment.inc
174174
#
175175
NLM_VERSION =
176176

@@ -183,12 +183,12 @@ NLM_STACK_SIZE = 65536
183183
#
184184
# If this is specified it will be used by the link '-entry' directive
185185
#
186-
NLM_ENTRY_SYM = _LibCPrelude
186+
NLM_ENTRY_SYM =
187187

188188
#
189189
# If this is specified it will be used by the link '-exit' directive
190190
#
191-
NLM_EXIT_SYM = _LibCPostlude
191+
NLM_EXIT_SYM =
192192

193193
#
194194
# If this is specified it will be used by the link '-check' directive
@@ -387,58 +387,58 @@ nlms :: libs $(TARGET_nlm)
387387

388388
#
389389
# Updated this target to create necessary directories and copy files to the
390-
# correct place. (See $(AP_WORK)\build\NWGNUhead.inc for examples)
390+
# correct place. (See $(AP_WORK)/build/NWGNUhead.inc for examples)
391391
#
392392
install :: nlms instscripts FORCE
393-
-copy $(OBJDIR)\$(NLM_NAME).nlm $(INSTALL)\$(BASEDIR)\*.*
394-
-copy ABOUT_APACHE $(INSTALL)\$(BASEDIR)\*.*
395-
-copy CHANGES $(INSTALL)\$(BASEDIR)\*.*
396-
-copy LICENSE $(INSTALL)\$(BASEDIR)\*.*
397-
-copy README $(INSTALL)\$(BASEDIR)\*.*
398-
-copy VERSIONING $(INSTALL)\$(BASEDIR)\*.*
399-
-copy STATUS $(INSTALL)\$(BASEDIR)\*.*
400-
-copy support\dbmmanage.in $(INSTALL)\$(BASEDIR)\bin\dbmmanage.pl
401-
-copy support\logresolve.pl.in $(INSTALL)\$(BASEDIR)\bin\logresolve.pl
402-
-copy support\split-logfile.in $(INSTALL)\$(BASEDIR)\bin\split-logfile.pl
403-
-copy support\check_forensic $(INSTALL)\$(BASEDIR)\bin\check_forensic.sh
404-
-copy docs\conf\magic $(INSTALL)\$(BASEDIR)\conf\magic
405-
-copy docs\conf\mime.types $(INSTALL)\$(BASEDIR)\conf\mime.types
406-
-copy docs\conf\charset.conv $(INSTALL)\$(BASEDIR)\conf\charset.conv
407-
-copy docs\cgi-examples\printenv $(INSTALL)\$(BASEDIR)\cgi-bin\printenv.pl
408-
-$(AWK) -v BDIR=$(BASEDIR) -v PORT=$(PORT) -v SSLPORT=$(SSLPORT) -v MODSSL=$(WITH_MOD_SSL) -v BSDSKT=$(USE_STDSOCKETS) -f build\mkconfnw.awk docs\conf\httpd.conf.in >$(INSTALL)\$(BASEDIR)\conf\httpd.conf
409-
$(CHKNOT) $(INSTALL)\$(BASEDIR)\conf\extra\nul mkdir $(INSTALL)\$(BASEDIR)\conf\extra
410-
-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-autoindex.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-autoindex.conf
411-
-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-dav.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-dav.conf
412-
-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-default.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-default.conf
413-
-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-info.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-info.conf
414-
-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-languages.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-languages.conf
415-
-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-manual.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-manual.conf
416-
-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-mpm.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-mpm.conf
417-
-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-multilang-errordoc.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-multilang-errordoc.conf
418-
-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-userdir.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-userdir.conf
419-
-$(AWK) -v BDIR=$(BASEDIR) -v PORT=$(PORT) -f build\mkconfnw.awk docs\conf\extra\httpd-vhosts.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-vhosts.conf
420-
-$(AWK) -v BDIR=$(BASEDIR) -v SSLPORT=$(SSLPORT) -f build\mkconfnw.awk docs\conf\extra\httpd-ssl.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-ssl.conf
421-
@xcopy $(XCOPYSW) docs\error $(INSTALL)\$(BASEDIR)\error
422-
@xcopy $(XCOPYSW) docs\docroot $(INSTALL)\$(BASEDIR)\htdocs
423-
@xcopy $(XCOPYSW) docs\icons $(INSTALL)\$(BASEDIR)\icons
424-
@xcopy $(XCOPYSW) docs\man $(INSTALL)\$(BASEDIR)\man
425-
@xcopy $(XCOPYSW) docs\manual $(INSTALL)\$(BASEDIR)\manual
393+
$(call COPY,$(OBJDIR)/$(NLM_NAME).nlm, $(INSTALL)/$(BASEDIR)/)
394+
$(call COPY,ABOUT_APACHE, $(INSTALL)/$(BASEDIR)/)
395+
$(call COPY,CHANGES, $(INSTALL)/$(BASEDIR)/)
396+
$(call COPY,LICENSE, $(INSTALL)/$(BASEDIR)/)
397+
$(call COPY,README, $(INSTALL)/$(BASEDIR)/)
398+
$(call COPY,VERSIONING, $(INSTALL)/$(BASEDIR)/)
399+
$(call COPY,STATUS, $(INSTALL)/$(BASEDIR)/)
400+
$(call COPY,support/dbmmanage.in, $(INSTALL)/$(BASEDIR)/bin/dbmmanage.pl)
401+
$(call COPY,support/logresolve.pl.in, $(INSTALL)/$(BASEDIR)/bin/logresolve.pl)
402+
$(call COPY,support/split-logfile.in, $(INSTALL)/$(BASEDIR)/bin/split-logfile.pl)
403+
$(call COPY,support/check_forensic, $(INSTALL)/$(BASEDIR)/bin/check_forensic.sh)
404+
$(call COPY,docs/conf/magic, $(INSTALL)/$(BASEDIR)/conf/)
405+
$(call COPY,docs/conf/mime.types, $(INSTALL)/$(BASEDIR)/conf/)
406+
$(call COPY,docs/conf/charset.conv, $(INSTALL)/$(BASEDIR)/conf/)
407+
$(call COPY,docs/cgi-examples/printenv, $(INSTALL)/$(BASEDIR)/cgi-bin/printenv.pl)
408+
-$(AWK) -v BDIR=$(BASEDIR) -v PORT=$(PORT) -v SSLPORT=$(SSLPORT) -v MODSSL=$(WITH_MOD_SSL) -v BSDSKT=$(USE_STDSOCKETS) -f build\mkconfnw.awk docs/conf/httpd.conf.in >$(INSTALL)/$(BASEDIR)/conf\httpd.conf
409+
$(call MKDIR,$(INSTALL)/$(BASEDIR)/conf/extra)
410+
-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs/conf/extra/httpd-autoindex.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-autoindex.conf
411+
-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs/conf/extra/httpd-dav.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-dav.conf
412+
-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs/conf/extra/httpd-default.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-default.conf
413+
-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs/conf/extra/httpd-info.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-info.conf
414+
-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs/conf/extra/httpd-languages.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-languages.conf
415+
-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs/conf/extra/httpd-manual.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-manual.conf
416+
-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs/conf/extra/httpd-mpm.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-mpm.conf
417+
-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs/conf/extra/httpd-multilang-errordoc.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-multilang-errordoc.conf
418+
-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs/conf/extra/httpd-userdir.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-userdir.conf
419+
-$(AWK) -v BDIR=$(BASEDIR) -v PORT=$(PORT) -f build\mkconfnw.awk docs/conf/extra/httpd-vhosts.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-vhosts.conf
420+
-$(AWK) -v BDIR=$(BASEDIR) -v SSLPORT=$(SSLPORT) -f build\mkconfnw.awk docs/conf/extra/httpd-ssl.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-ssl.conf
421+
$(call COPYR,docs/docroot, $(INSTALL)/$(BASEDIR)/htdocs)
422+
$(call COPYR,docs/error, $(INSTALL)/$(BASEDIR)/)
423+
$(call COPYR,docs/icons, $(INSTALL)/$(BASEDIR)/)
424+
$(call COPYR,docs/man, $(INSTALL)/$(BASEDIR)/)
425+
$(call COPYR,docs/manual, $(INSTALL)/$(BASEDIR)/)
426426

427427
installdev :: FORCE
428-
-copy $(subst /,\,$(AP_WORK))\include\*.h $(INSTALL)\$(BASEDIR)\include\*.*
429-
-copy $(subst /,\,$(NWOS))\*.h $(INSTALL)\$(BASEDIR)\include\*.*
430-
-copy $(subst /,\,$(APR))\include\*.h $(INSTALL)\$(BASEDIR)\include\*.*
431-
-copy $(subst /,\,$(APRUTIL))\include\*.h $(INSTALL)\$(BASEDIR)\include\*.*
432-
-copy $(subst /,\,$(APR))\*.imp $(INSTALL)\$(BASEDIR)\lib\*.*
433-
-copy $(subst /,\,$(NWOS))\*.imp $(INSTALL)\$(BASEDIR)\lib\*.*
434-
-copy $(subst /,\,$(NWOS))\*.xdc $(INSTALL)\$(BASEDIR)\lib\*.*
428+
$(call COPY,$(SRC)/include/*.h, $(INSTALL)/$(BASEDIR)/include/)
429+
$(call COPY,$(NWOS)/*.h, $(INSTALL)/$(BASEDIR)/include/)
430+
$(call COPY,$(APR)/include/*.h, $(INSTALL)/$(BASEDIR)/include/)
431+
$(call COPY,$(APRUTIL)/include/*.h, $(INSTALL)/$(BASEDIR)/include/)
432+
$(call COPY,$(APR)/*.imp, $(INSTALL)/$(BASEDIR)/lib/)
433+
$(call COPY,$(NWOS)/*.imp, $(INSTALL)/$(BASEDIR)/lib/)
434+
$(call COPY,$(NWOS)/*.xdc, $(INSTALL)/$(BASEDIR)/lib/)
435435

436436
prebuild :: FORCE
437437
$(MAKE) -C $(SERVER) -f NWGNUmakefile
438438
$(MAKE) -C $(PCRE) -f NWGNUmakefile
439-
$(CHKNOT) $(subst /,\,$(PREBUILD_INST))\nul mkdir $(subst /,\,$(PREBUILD_INST))
440-
-copy $(AP_WORK)\server\$(OBJDIR)\*.nlm $(PREBUILD_INST)\*.*
441-
-copy $(PCRE)\$(basename $(OBJDIR))\*.nlm $(PREBUILD_INST)\*.*
439+
$(call MKDIR,$(PREBUILD_INST))
440+
$(call COPY,$(SERVER)/$(OBJDIR)/*.nlm, $(PREBUILD_INST)/)
441+
$(call COPY,$(PCRE)/$(OBJDIR)/*.nlm, $(PREBUILD_INST)/)
442442

443443
#
444444
# Any specialized rules here
@@ -453,8 +453,8 @@ vpath %.c modules/core:os/netware:server/mpm/netware:$(PCRE)
453453
# in this makefile
454454
#
455455

456-
include $(AP_WORK)\build\NWGNUtail.inc
456+
include $(APBUILD)/NWGNUtail.inc
457457

458-
include $(AP_WORK)\build\NWGNUscripts.inc
458+
include $(APBUILD)/NWGNUscripts.inc
459459

460460

build/NWGNUenvironment.inc

Lines changed: 72 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,9 @@ endif
118118

119119
OBJDIR = obj_$(RELEASE)
120120

121+
# Define minimum APR version to check for
122+
APR_WANTED = 1004000
123+
121124
#
122125
# Setup compiler information
123126
#
@@ -131,27 +134,60 @@ WIN_CC = mwcc
131134

132135
# Setup build tools
133136
AWK = awk
137+
SORT = sort
134138

135-
# Define minimum APR version to check for
136-
APR_WANTED = 1004000
139+
#
140+
# Declare Command and tool macros here
141+
#
142+
143+
ifeq ($(findstring /sh,$(SHELL)),/sh)
144+
DEL = rm -f $1
145+
RMDIR = rm -rf $1
146+
MKDIR = mkdir -p $1
147+
COPY = cp -av $1 $2
148+
COPYR = cp -ar $1 $2
149+
ECHONL = echo ""
150+
DL = '
151+
CAT = cat
152+
else
153+
ifeq "$(OS)" "Windows_NT"
154+
DEL = $(shell if exist $(subst /,\,$1) del /q /f 2>NUL $(subst /,\,$1))
155+
RMDIR = $(shell if exist $(subst /,\,$1)\NUL rd /q /s 2>NUL $(subst /,\,$1))
156+
ECHONL = cmd /c echo.
157+
else
158+
DEL = $(shell if exist $(subst /,\,$1) del 2>NUL $(subst /,\,$1))
159+
RMDIR = $(shell if exist $(subst /,\,$1)\NUL deltree /y 2>NUL $(subst /,\,$1))
160+
ECHONL = command /c echo.
161+
endif
162+
MKDIR = $(shell if not exist $(subst /,\,$1)\NUL md 2>NUL $(subst /,\,$1))
163+
COPY = copy /y 2>NUL $(subst /,\,$1) $(subst /,\,$2)
164+
COPYR = xcopy /y /e 2>NUL $(subst /,\,$1) $(subst /,\,$2)
165+
CAT = type
166+
endif
137167
138168
ifdef IPV6
139169
ifndef USE_STDSOCKETS
140170
USE_STDSOCKETS=1
141171
endif
142172
endif
143173
144-
NOVI = $(NOVELLLIBC)\imports
174+
NOVI = $(NOVELLLIBC)/imports
145175
146-
INCDIRS = $(NOVELLLIBC)\include;$(NOVELLLIBC)\include\nks;$(NOVELLLIBC)\include\winsock;
176+
INCDIRS = $(NOVELLLIBC)/include;
177+
ifndef USE_STDSOCKETS
178+
INCDIRS += $(NOVELLLIBC)/include/winsock;
179+
endif
147180
ifneq "$(LDAPSDK)" ""
148-
INCDIRS := $(INCDIRS);$(LDAPSDK)/inc
181+
#INCDIRS := $(INCDIRS);$(LDAPSDK)/inc
182+
INCDIRS += $(LDAPSDK)/inc;
149183
endif
150184
ifneq "$(ZLIBSDK)" ""
151-
INCDIRS := $(INCDIRS);$(ZLIBSDK)
185+
#INCDIRS := $(INCDIRS);$(ZLIBSDK)
186+
INCDIRS += $(ZLIBSDK);
152187
endif
153188
ifneq "$(PCRESRC)" ""
154-
INCDIRS := $(INCDIRS);$(PCRESRC)
189+
#INCDIRS := $(INCDIRS);$(PCRESRC)
190+
INCDIRS += $(PCRESRC);
155191
endif
156192
157193
DEFINES = -DNETWARE
@@ -169,9 +205,9 @@ VERSION_SKT = (WINSOCK)
169205
endif
170206
171207
# MetroWerks static Libraries
172-
CLIB3S = $(METROWERKS)\Novell Support\Metrowerks Support\Libraries\Runtime\mwcrtl.lib
208+
CLIB3S = $(METROWERKS)/Novell Support/Metrowerks Support/Libraries/Runtime/mwcrtl.lib
173209
MATH3S =
174-
PLIB3S = $(METROWERKS)\Novell Support\Metrowerks Support\Libraries\MSL C++\MWCPP.lib
210+
PLIB3S = $(METROWERKS)/Novell Support/Metrowerks Support/Libraries/MSL C++/MWCPP.lib
175211
176212
# MetroWerks Win32 build flags to create build tool
177213
MWCW_MSL = "$(METROWERKS)/MSL"
@@ -217,7 +253,9 @@ endif
217253
CFLAGS += -prefix pre_nw.h
218254
219255
256+
ifneq ($(findstring /sh,$(SHELL)),/sh)
220257
PATH:=$(PATH);$(METROWERKS)\bin;$(METROWERKS)\Other Metrowerks Tools\Command Line Tools
258+
endif
221259
222260
#
223261
# Declare major project deliverables output directories here
@@ -238,8 +276,8 @@ endif
238276
endif
239277
240278
ifndef INSTALL
241-
INSTALL = $(AP_WORK)\Dist
242-
INSTDIRS = $(AP_WORK)\Dist
279+
INSTALL = $(AP_WORK)/Dist
280+
INSTDIRS = $(AP_WORK)/Dist
243281
endif
244282
245283
ifndef BASEDIR
@@ -276,69 +314,40 @@ endif
276314
277315
INSTDEVDIRS := \
278316
$(INSTDIRS) \
279-
$(INSTALL)\$(BASEDIR)\include \
280-
$(INSTALL)\$(BASEDIR)\lib \
317+
$(INSTALL)/$(BASEDIR)/include \
318+
$(INSTALL)/$(BASEDIR)/lib \
281319
282320
INSTDIRS += \
283-
$(INSTALL)\$(BASEDIR) \
284-
$(INSTALL)\$(BASEDIR)\bin \
285-
$(INSTALL)\$(BASEDIR)\cgi-bin \
286-
$(INSTALL)\$(BASEDIR)\conf \
287-
$(INSTALL)\$(BASEDIR)\error \
288-
$(INSTALL)\$(BASEDIR)\htdocs \
289-
$(INSTALL)\$(BASEDIR)\icons \
290-
$(INSTALL)\$(BASEDIR)\logs \
291-
$(INSTALL)\$(BASEDIR)\man \
292-
$(INSTALL)\$(BASEDIR)\manual \
293-
$(INSTALL)\$(BASEDIR)\modules \
294-
295-
#
296-
# Declare Command and tool macros here
297-
#
298-
299-
# Os2LibPath is an extra check to see if we are on NT
300-
ifdef Os2LibPath
301-
OS = Windows_NT
302-
endif
303-
304-
ifeq "$(OS)" "Windows_NT"
305-
CMD = cmd /C
306-
DEL = del /F
307-
DELTREE = rd /s/q
308-
WINNT = 1
309-
XCOPYSW = /E
310-
else
311-
CMD = command /C
312-
DEL = del
313-
DELTREE = deltree /y
314-
XCOPYSW = /E /Y
315-
endif
316-
317-
CHK = $(CMD) if exist
318-
CHKNOT = $(CMD) if not exist
319-
320-
321-
#
322-
# Setup base C compiler flags
323-
#
321+
$(INSTALL)/$(BASEDIR) \
322+
$(INSTALL)/$(BASEDIR)/bin \
323+
$(INSTALL)/$(BASEDIR)/cgi-bin \
324+
$(INSTALL)/$(BASEDIR)/conf \
325+
$(INSTALL)/$(BASEDIR)/error \
326+
$(INSTALL)/$(BASEDIR)/htdocs \
327+
$(INSTALL)/$(BASEDIR)/icons \
328+
$(INSTALL)/$(BASEDIR)/logs \
329+
$(INSTALL)/$(BASEDIR)/man \
330+
$(INSTALL)/$(BASEDIR)/manual \
331+
$(INSTALL)/$(BASEDIR)/modules \
324332
325333
#
326334
# Common directories
327335
#
328336
329-
STDMOD = $(AP_WORK)/modules
330-
NWOS = $(AP_WORK)/os/netware
331-
SERVER = $(AP_WORK)/server
332-
SRC = $(AP_WORK)
337+
SRC = $(subst \,/,$(AP_WORK))
338+
APBUILD = $(SRC)/build
339+
STDMOD = $(SRC)/modules
340+
HTTPD = $(SRC)/modules/http
341+
NWOS = $(SRC)/os/netware
342+
SERVER = $(SRC)/server
343+
SUPMOD = $(SRC)/support
333344
APR = $(APR_WORK)
334345
APRUTIL = $(APU_WORK)
335346
APULDAP = $(APU_WORK)/ldap
336-
SUPMOD = $(AP_WORK)/support
337-
PCRE = $(PCRESRC)
338-
APRTEST = $(APR_WORK)/test
339-
HTTPD = $(AP_WORK)/modules/http
340347
XML = $(APU_WORK)/xml
341-
PREBUILD_INST = $(AP_WORK)/nwprebuild
348+
APRTEST = $(APR_WORK)/test
349+
PCRE = $(PCRESRC)
350+
PREBUILD_INST = $(SRC)/nwprebuild
342351
343352
#
344353
# Internal Libraries

0 commit comments

Comments
 (0)