On 12 November 2012 02:53, Erik Cederstrand <[email protected]> wrote:
> If there are no other objections, I'll try to both patches into the tree (I
> have no commit bit myself).
Hey all. I've been working with Erik to get his patches into the tree.
I just want to make sure there are no further objections to the
attaches patches. If no one objects in the next 4 days I shall request
approval to commit.
--
Eitan Adler
Index: head/gnu/usr.bin/cc/cc_tools/Makefile
===================================================================
--- head/gnu/usr.bin/cc/cc_tools/Makefile (revision 242909)
+++ head/gnu/usr.bin/cc/cc_tools/Makefile (working copy)
@@ -512,7 +512,7 @@
${LIBIBERTY}: ${LIBIBERTY_OBJS}
@rm -f ${.TARGET}
- @${AR} cq ${.TARGET} `lorder ${LIBIBERTY_OBJS} | tsort -q`
+ @${AR} ${ARFLAGS} ${.TARGET} `lorder ${LIBIBERTY_OBJS} | tsort -q`
${RANLIB} ${.TARGET}
CLEANFILES+= ${LIBIBERTY} ${LIBIBERTY_OBJS}
Index: head/gnu/lib/libgcc/Makefile
===================================================================
--- head/gnu/lib/libgcc/Makefile (revision 242909)
+++ head/gnu/lib/libgcc/Makefile (working copy)
@@ -341,7 +341,7 @@
libgcc_eh.a: ${EH_OBJS_T}
@${ECHO} building static gcc_eh library
@rm -f ${.TARGET}
- @${AR} cq ${.TARGET} `lorder ${EH_OBJS_T} | tsort -q`
+ @${AR} ${ARFLAGS} ${.TARGET} `lorder ${EH_OBJS_T} | tsort -q`
${RANLIB} ${.TARGET}
all: libgcc_eh.a
@@ -350,7 +350,7 @@
libgcc_eh_p.a: ${EH_OBJS_P}
@${ECHO} building profiled gcc_eh library
@rm -f ${.TARGET}
- @${AR} cq ${.TARGET} `lorder ${EH_OBJS_P} | tsort -q`
+ @${AR} ${ARFLAGS} ${.TARGET} `lorder ${EH_OBJS_P} | tsort -q`
${RANLIB} ${.TARGET}
all: libgcc_eh_p.a
.endif
Index: head/share/mk/bsd.lib.mk
===================================================================
--- head/share/mk/bsd.lib.mk (revision 242909)
+++ head/share/mk/bsd.lib.mk (working copy)
@@ -135,9 +135,9 @@
@${ECHO} building static ${LIB} library
@rm -f ${.TARGET}
.if !defined(NM)
- @${AR} cq ${.TARGET} `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
+ @${AR} ${ARFLAGS} ${.TARGET} `lorder ${OBJS} ${STATICOBJS} | tsort -q`
${ARADD}
.else
- @${AR} cq ${.TARGET} `NM='${NM}' lorder ${OBJS} ${STATICOBJS} | tsort
-q` ${ARADD}
+ @${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' lorder ${OBJS} ${STATICOBJS} |
tsort -q` ${ARADD}
.endif
${RANLIB} ${.TARGET}
.endif
@@ -152,9 +152,9 @@
@${ECHO} building profiled ${LIB} library
@rm -f ${.TARGET}
.if !defined(NM)
- @${AR} cq ${.TARGET} `lorder ${POBJS} | tsort -q` ${ARADD}
+ @${AR} ${ARFLAGS} ${.TARGET} `lorder ${POBJS} | tsort -q` ${ARADD}
.else
- @${AR} cq ${.TARGET} `NM='${NM}' lorder ${POBJS} | tsort -q` ${ARADD}
+ @${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' lorder ${POBJS} | tsort -q`
${ARADD}
.endif
${RANLIB} ${.TARGET}
.endif
@@ -202,7 +202,7 @@
lib${LIB}_pic.a: ${SOBJS}
@${ECHO} building special pic ${LIB} library
@rm -f ${.TARGET}
- @${AR} cq ${.TARGET} ${SOBJS} ${ARADD}
+ @${AR} ${ARFLAGS} ${.TARGET} ${SOBJS} ${ARADD}
${RANLIB} ${.TARGET}
.endif
Index: head/crypto/openssl/Makefile.org
===================================================================
--- head/crypto/openssl/Makefile.org (revision 242909)
+++ head/crypto/openssl/Makefile.org (working copy)
@@ -63,8 +63,8 @@
PEX_LIBS=
EX_LIBS=
EXE_EXT=
-ARFLAGS=
-AR=ar $(ARFLAGS) r
+ARFLAGS?= r
+AR=ar $(ARFLAGS)
RANLIB= ranlib
NM= nm
PERL= perl
Index: head/crypto/openssl/crypto/Makefile
===================================================================
--- head/crypto/openssl/crypto/Makefile (revision 242909)
+++ head/crypto/openssl/crypto/Makefile (working copy)
@@ -13,7 +13,8 @@
MAKEDEPEND= $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
MAKEFILE= Makefile
RM= rm -f
-AR= ar r
+ARFLAGS?= r
+AR= ar ${ARFLAGS}
RECURSIVE_MAKE= [ -n "$(SDIRS)" ] && for i in $(SDIRS) ; do \
(cd $$i && echo "making $$target in $(DIR)/$$i..." && \
Index: head/crypto/heimdal/appl/ftp/common/Makefile.in
===================================================================
--- head/crypto/heimdal/appl/ftp/common/Makefile.in (revision 242909)
+++ head/crypto/heimdal/appl/ftp/common/Makefile.in (working copy)
@@ -96,7 +96,7 @@
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
+ARFLAGS ?= cru
libcommon_a_AR = $(AR) $(ARFLAGS)
libcommon_a_LIBADD =
am_libcommon_a_OBJECTS = sockbuf.$(OBJEXT) buffer.$(OBJEXT)
Index: head/crypto/heimdal/appl/telnet/libtelnet/Makefile.in
===================================================================
--- head/crypto/heimdal/appl/telnet/libtelnet/Makefile.in (revision
242909)
+++ head/crypto/heimdal/appl/telnet/libtelnet/Makefile.in (working copy)
@@ -96,7 +96,7 @@
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
+ARFLAGS ?= cru
libtelnet_a_AR = $(AR) $(ARFLAGS)
libtelnet_a_LIBADD =
am_libtelnet_a_OBJECTS = auth.$(OBJEXT) enc_des.$(OBJEXT) \
Index: head/contrib/gperf/lib/Makefile.in
===================================================================
--- head/contrib/gperf/lib/Makefile.in (revision 242909)
+++ head/contrib/gperf/lib/Makefile.in (working copy)
@@ -43,8 +43,8 @@
# Both C and C++ compiler
OBJEXT = @OBJEXT@
# Other
-AR = ar
-AR_FLAGS = rc
+AR = @AR@
+ARFLAGS = @ARFLAGS@
RANLIB = @RANLIB@
MV = mv
LN = ln
@@ -71,7 +71,7 @@
$(TARGETLIB): $(OBJECTS)
$(RM) $@
- $(AR) $(AR_FLAGS) $@ $(OBJECTS)
+ $(AR) $(ARFLAGS) $@ $(OBJECTS)
$(RANLIB) $@
# Don't use implicit rules, since AIX "make" and OSF/1 "make" don't always
Index: head/contrib/tcp_wrappers/Makefile
===================================================================
--- head/contrib/tcp_wrappers/Makefile (revision 242909)
+++ head/contrib/tcp_wrappers/Makefile (working copy)
@@ -139,7 +139,7 @@
freebsd:
@make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
- RANLIB=ranlib ARFLAGS=rv AUX_OBJ= NETGROUP=-DNETGROUP TLI= \
+ RANLIB=ranlib ARFLAGS=$(ARFLAGS) AUX_OBJ= NETGROUP=-DNETGROUP TLI= \
EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DINET6 -DUSE_GETIPNODEBY" \
VSYSLOG= all
@@ -401,7 +401,7 @@
RANLIB = ranlib # have ranlib (BSD-ish UNIX)
#RANLIB = echo # no ranlib (SYSV-ish UNIX)
-ARFLAGS = rv # most systems
+ARFLAGS ?= rv # most systems
#ARFLAGS= rvs # IRIX 4.0.x
AR = ar
Index: head/contrib/tcpdump/Makefile.in
===================================================================
--- head/contrib/tcpdump/Makefile.in (revision 242909)
+++ head/contrib/tcpdump/Makefile.in (working copy)
@@ -366,7 +366,7 @@
$(LIBNETDISSECT): $(LIBNETDISSECT_OBJ)
@rm -f $@
- $(AR) cr $@ $(LIBNETDISSECT_OBJ)
+ $(AR) $(ARFLAGS) $@ $(LIBNETDISSECT_OBJ)
$(RANLIB) $@
datalinks.o: $(srcdir)/missing/datalinks.c
Index: head/contrib/gcc/Makefile.in
===================================================================
--- head/contrib/gcc/Makefile.in (revision 242909)
+++ head/contrib/gcc/Makefile.in (working copy)
@@ -238,7 +238,7 @@
FLEX = @FLEX@
FLEXFLAGS =
AR = @AR@
-AR_FLAGS = rc
+ARFLAGS = @ARFLAGS@
NM = @NM@
RANLIB = @RANLIB@
RANLIB_FLAGS = @ranlib_flags@
@@ -1303,7 +1303,7 @@
# This archive is strictly for the host.
libbackend.a: $(OBJS@onestep@)
-rm -rf libbackend.a
- $(AR) $(AR_FLAGS) libbackend.a $(OBJS@onestep@)
+ $(AR) $(ARFLAGS) libbackend.a $(OBJS@onestep@)
-$(RANLIB) $(RANLIB_FLAGS) libbackend.a
# We call this executable `xgcc' rather than `gcc'
Index: head/contrib/ntp/libparse/Makefile.in
===================================================================
--- head/contrib/ntp/libparse/Makefile.in (revision 242909)
+++ head/contrib/ntp/libparse/Makefile.in (working copy)
@@ -52,7 +52,7 @@
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
+ARFLAGS ?= cru
libparse_a_AR = $(AR) $(ARFLAGS)
libparse_a_LIBADD =
am_libparse_a_OBJECTS = parse$U.$(OBJEXT) parse_conf$U.$(OBJEXT) \
Index: head/contrib/ntp/libntp/Makefile.in
===================================================================
--- head/contrib/ntp/libntp/Makefile.in (revision 242909)
+++ head/contrib/ntp/libntp/Makefile.in (working copy)
@@ -52,7 +52,7 @@
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
+ARFLAGS = @ARFLAGS@
libntp_a_AR = $(AR) $(ARFLAGS)
libntp_a_LIBADD =
am__objects_1 = a_md5encrypt$U.$(OBJEXT) adjtime$U.$(OBJEXT) \
Index: head/contrib/ntp/arlib/Makefile.in
===================================================================
--- head/contrib/ntp/arlib/Makefile.in (revision 242909)
+++ head/contrib/ntp/arlib/Makefile.in (working copy)
@@ -50,8 +50,8 @@
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LIBRARIES = $(noinst_LIBRARIES)
-AR = ar
-ARFLAGS = cru
+AR = @AR@
+ARFLAGS = @ARFLAGS@
libares_a_AR = $(AR) $(ARFLAGS)
libares_a_LIBADD =
am_libares_a_OBJECTS = arlib.$(OBJEXT)
Index: head/contrib/ntp/ntpd/Makefile.in
===================================================================
--- head/contrib/ntp/ntpd/Makefile.in (revision 242909)
+++ head/contrib/ntp/ntpd/Makefile.in (working copy)
@@ -58,7 +58,7 @@
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LIBRARIES = $(noinst_LIBRARIES)
-ARFLAGS = cru
+ARFLAGS = @ARFLAGS@
libntpd_a_AR = $(AR) $(ARFLAGS)
libntpd_a_LIBADD =
am_libntpd_a_OBJECTS = ntp_control$U.$(OBJEXT) ntp_crypto$U.$(OBJEXT) \
Index: head/contrib/binutils/Makefile.in
===================================================================
--- head/contrib/binutils/Makefile.in (revision 242909)
+++ head/contrib/binutils/Makefile.in (working copy)
@@ -284,7 +284,7 @@
AS = @AS@
AR = @AR@
-AR_FLAGS = rc
+ARFLAGS = @ARFLAGS@
CC = @CC@
CXX = @CXX@
DLLTOOL = @DLLTOOL@
@@ -474,7 +474,7 @@
"SHELL=$(SHELL)" \
"YACC=$(YACC)" \
"`echo 'ADAFLAGS=$(ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
- "AR_FLAGS=$(AR_FLAGS)" \
+ "AR_FLAGS=$(ARFLAGS)" \
"`echo 'BOOT_ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e
s'/[^=][^=]*=$$/XFOO=/'`" \
"BOOT_CFLAGS=$(BOOT_CFLAGS)" \
"BOOT_LDFLAGS=$(BOOT_LDFLAGS)" \
Index: head/contrib/binutils/libiberty/Makefile.in
===================================================================
--- head/contrib/binutils/libiberty/Makefile.in (revision 242909)
+++ head/contrib/binutils/libiberty/Makefile.in (working copy)
@@ -56,7 +56,7 @@
OUTPUT_OPTION = @OUTPUT_OPTION@
AR = @AR@
-AR_FLAGS = rc
+ARFLAGS = @ARFLAGS@
CC = @CC@
CFLAGS = @CFLAGS@
@@ -81,7 +81,7 @@
# Flags to pass to a recursive make.
FLAGS_TO_PASS = \
"AR=$(AR)" \
- "AR_FLAGS=$(AR_FLAGS)" \
+ "AR_FLAGS=$(ARFLAGS)" \
"CC=$(CC)" \
"CFLAGS=$(CFLAGS)" \
"DESTDIR=$(DESTDIR)" \
@@ -224,12 +224,12 @@
$(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
-rm -f $(TARGETLIB) pic/$(TARGETLIB)
- $(AR) $(AR_FLAGS) $(TARGETLIB) \
+ $(AR) $(ARFLAGS) $(TARGETLIB) \
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
$(RANLIB) $(TARGETLIB)
if [ x"$(PICFLAG)" != x ]; then \
cd pic; \
- $(AR) $(AR_FLAGS) $(TARGETLIB) \
+ $(AR) $(ARFLAGS) $(TARGETLIB) \
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
$(RANLIB) $(TARGETLIB); \
cd ..; \
@@ -237,7 +237,7 @@
$(TESTLIB): $(REQUIRED_OFILES) $(CONFIGURED_OFILES)
-rm -f $(TESTLIB)
- $(AR) $(AR_FLAGS) $(TESTLIB) \
+ $(AR) $(ARFLAGS) $(TESTLIB) \
$(REQUIRED_OFILES) $(CONFIGURED_OFILES)
$(RANLIB) $(TESTLIB)
Index: head/contrib/binutils/Makefile.tpl
===================================================================
--- head/contrib/binutils/Makefile.tpl (revision 242909)
+++ head/contrib/binutils/Makefile.tpl (working copy)
@@ -287,7 +287,7 @@
AS = @AS@
AR = @AR@
-AR_FLAGS = rc
+ARFLAGS = @ARFLAGS@
CC = @CC@
CXX = @CXX@
DLLTOOL = @DLLTOOL@
Index: head/contrib/opie/libopie/Makefile.in
===================================================================
--- head/contrib/opie/libopie/Makefile.in (revision 242909)
+++ head/contrib/opie/libopie/Makefile.in (working copy)
@@ -23,7 +23,7 @@
all: $(TARGET)
$(TARGET): $(OBJS)
- ar cr $(TARGET) $(OBJS)
+ @AR@ @ARFLAGS@ $(TARGET) $(OBJS)
@RANLIB@ $(TARGET)
clean:
Index: head/contrib/opie/libmissing/Makefile.in
===================================================================
--- head/contrib/opie/libmissing/Makefile.in (revision 242909)
+++ head/contrib/opie/libmissing/Makefile.in (working copy)
@@ -22,7 +22,7 @@
all: $(TARGET)
$(TARGET): $(OBJS)
- ar cr $(TARGET) $(OBJS)
+ @AR@ @ARFLAGS@ $(TARGET) $(OBJS)
@RANLIB@ $(TARGET)
clean:
Index: head/contrib/gcclibs/libiberty/Makefile.in
===================================================================
--- head/contrib/gcclibs/libiberty/Makefile.in (revision 242909)
+++ head/contrib/gcclibs/libiberty/Makefile.in (working copy)
@@ -56,7 +56,7 @@
OUTPUT_OPTION = @OUTPUT_OPTION@
AR = @AR@
-AR_FLAGS = rc
+ARFLAGS = @ARFLAGS@
CC = @CC@
CFLAGS = @CFLAGS@
@@ -81,7 +81,7 @@
# Flags to pass to a recursive make.
FLAGS_TO_PASS = \
"AR=$(AR)" \
- "AR_FLAGS=$(AR_FLAGS)" \
+ "AR_FLAGS=$(ARFLAGS)" \
"CC=$(CC)" \
"CFLAGS=$(CFLAGS)" \
"DESTDIR=$(DESTDIR)" \
@@ -224,12 +224,12 @@
$(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
-rm -f $(TARGETLIB) pic/$(TARGETLIB)
- $(AR) $(AR_FLAGS) $(TARGETLIB) \
+ $(AR) $(ARFLAGS) $(TARGETLIB) \
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
$(RANLIB) $(TARGETLIB)
if [ x"$(PICFLAG)" != x ]; then \
cd pic; \
- $(AR) $(AR_FLAGS) $(TARGETLIB) \
+ $(AR) $(ARFLAGS) $(TARGETLIB) \
$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
$(RANLIB) $(TARGETLIB); \
cd ..; \
@@ -237,7 +237,7 @@
$(TESTLIB): $(REQUIRED_OFILES) $(CONFIGURED_OFILES)
-rm -f $(TESTLIB)
- $(AR) $(AR_FLAGS) $(TESTLIB) \
+ $(AR) $(ARFLAGS) $(TESTLIB) \
$(REQUIRED_OFILES) $(CONFIGURED_OFILES)
$(RANLIB) $(TESTLIB)
Index: head/contrib/gcclibs/libcpp/Makefile.in
===================================================================
--- head/contrib/gcclibs/libcpp/Makefile.in (revision 242909)
+++ head/contrib/gcclibs/libcpp/Makefile.in (working copy)
@@ -26,8 +26,8 @@
top_builddir = .
VPATH = @srcdir@
INSTALL = @INSTALL@
-AR = ar
-ARFLAGS = cru
+AR = @AR@
+ARFLAGS = @ARFLAGS@
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
Index: head/contrib/gcclibs/libdecnumber/Makefile.in
===================================================================
--- head/contrib/gcclibs/libdecnumber/Makefile.in (revision 242909)
+++ head/contrib/gcclibs/libdecnumber/Makefile.in (working copy)
@@ -26,8 +26,8 @@
top_builddir = .
VPATH = @srcdir@
INSTALL = @INSTALL@
-AR = ar
-ARFLAGS = cru
+AR = @AR@
+ARFLAGS = @ARFLAGS@
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
Index: head/contrib/dtc/Makefile
===================================================================
--- head/contrib/dtc/Makefile (revision 242909)
+++ head/contrib/dtc/Makefile (working copy)
@@ -48,7 +48,7 @@
VECHO = :
else
VECHO = echo " "
-ARFLAGS = rc
+ARFLAGS ?= rc
.SILENT:
endif
Index: head/contrib/cvs/diff/Makefile.in
===================================================================
--- head/contrib/cvs/diff/Makefile.in (revision 242909)
+++ head/contrib/cvs/diff/Makefile.in (working copy)
@@ -41,8 +41,8 @@
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
-AR = ar
-ARFLAGS = cru
+AR = @AR@
+ARFLAGS = @ARFLAGS@
libdiff_a_AR = $(AR) $(ARFLAGS)
libdiff_a_LIBADD =
am_libdiff_a_OBJECTS = diff.$(OBJEXT) diff3.$(OBJEXT) \
Index: head/contrib/cvs/lib/Makefile.in
===================================================================
--- head/contrib/cvs/lib/Makefile.in (revision 242909)
+++ head/contrib/cvs/lib/Makefile.in (working copy)
@@ -63,8 +63,8 @@
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = fnmatch.h
LIBRARIES = $(noinst_LIBRARIES)
-AR = ar
-ARFLAGS = cru
+AR = @AR@
+ARFLAGS = @ARFLAGS@
libcvs_a_AR = $(AR) $(ARFLAGS)
libcvs_a_DEPENDENCIES = @LIBOBJS@
am_libcvs_a_OBJECTS = argmatch.$(OBJEXT) getdate.$(OBJEXT) \
Index: head/contrib/gdtoa/makefile
===================================================================
--- head/contrib/gdtoa/makefile (revision 242909)
+++ head/contrib/gdtoa/makefile (working copy)
@@ -26,6 +26,8 @@
.SUFFIXES: .c .o
CC = cc
CFLAGS = -g
+AR ?= ar
+ARFLAGS ?= ruv
.c.o:
$(CC) -c $(CFLAGS) $*.c
@@ -52,12 +54,12 @@
strtopx.c strtopxL.c strtorQ.c strtord.c strtordd.c strtorf.c\
strtorx.c strtorxL.c sum.c ulp.c
$(CC) -c $(CFLAGS) $?
- x=`echo $? | sed 's/\.c/.o/g'` && ar ruv gdtoa.a $$x && rm $$x
+ x=`echo $? | sed 's/\.c/.o/g'` && $(AR) $(ARFLAGS) gdtoa.a $$x && rm $$x
ranlib gdtoa.a || true
Printf: all printf.c
$(CC) -c $(CFLAGS) printf.c
- ar ruv gdtoa.a printf.o
+ $(AR) $(ARFLAGS) gdtoa.a printf.o
rm printf.o
touch Printf
Index: head/share/mk/sys.mk
===================================================================
--- head/share/mk/sys.mk (revision 242909)
+++ head/share/mk/sys.mk (working copy)
@@ -39,7 +39,7 @@
.if defined(%POSIX)
ARFLAGS ?= -rv
.else
-ARFLAGS ?= rl
+ARFLAGS ?= cru
.endif
RANLIB ?= ranlib
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "[email protected]"