Kaydet (Commit) b8002169 authored tarafından Michael Stahl's avatar Michael Stahl

remove INPATH and PROEXT

- WORKDIR path is just workdir
- INSTDIR path is just instdir
- WORKDIR_FOR_BUILD is workdir_for_build
- INSTDIR_FOR_BUILD is instdir_for_build
- replace other usage of INPATH by combination of OS and CPUNAME

Change-Id: Ie398387ebd82a968ec2605f2103c55b43a231482
Reviewed-on: https://gerrit.libreoffice.org/6601Reviewed-by: 's avatarTor Lillqvist <tml@collabora.com>
Tested-by: 's avatarTor Lillqvist <tml@collabora.com>
Reviewed-by: 's avatarMichael Stahl <mstahl@redhat.com>
üst 7fb73e6c
......@@ -233,7 +233,7 @@ bootstrap: compilerplugins
#
# Note: if invoked as "make check" this will also run subsequentcheck!
#
build: bootstrap fetch $(if $(filter $(INPATH),$(INPATH_FOR_BUILD)),,cross-toolset)
build: bootstrap fetch $(if $(CROSS_COMPILING),cross-toolset)
ifneq ($(filter-out WNT MACOSX IOS ANDROID,$(OS)),)
mkdir -p $(INSTDIR) && install-gdb-printers -a $(INSTDIR) -c
endif
......@@ -243,7 +243,7 @@ ifeq ($(OS),IOS)
$(GNUMAKE) -j $(PARALLELISM) $(GMAKE_OPTIONS) ios
endif
build-nocheck: bootstrap fetch $(if $(filter $(INPATH),$(INPATH_FOR_BUILD)),,cross-toolset)
build-nocheck: bootstrap fetch $(if $(CROSS_COMPILING),cross-toolset)
$(GNUMAKE) -j $(PARALLELISM) $(GMAKE_OPTIONS) -f $(SRCDIR)/Makefile.gbuild build
cross-toolset: bootstrap fetch
......@@ -339,7 +339,7 @@ findunusedcode:
@mkdir -p $(SRCDIR)/callcatcher/config_host
@cp config_host/* callcatcher/config_host
@cp config_host.mk* callcatcher
@sed -e s,$$INPATH,callcatcher,g config_host.mk | sed -e s,"export OOO_JUNIT_JAR=.*","export OOO_JUNIT_JAR=",g > $(SRCDIR)/callcatcher/config_host.mk
@cat config_host.mk | sed -e s,"export OOO_JUNIT_JAR=.*","export OOO_JUNIT_JAR=",g > $(SRCDIR)/callcatcher/config_host.mk
@sed -i -e s,g++,"callcatcher g++",g $(SRCDIR)/callcatcher/config_host.mk
@sed -i -e s,gcc,"callcatcher gcc",g $(SRCDIR)/callcatcher/config_host.mk
@echo unexport ARCH_FLAGS >> $(SRCDIR)/callcatcher/config_host.mk
......
......@@ -24,12 +24,6 @@ $(call gb_CustomTarget_get_target,android/desktop) : \
$(android_desktop_DIR)/done : $(lo4android_DIR)/done
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),MAK,2)
cd $(SRCDIR)/android/experimental/desktop && $(MAKE) all
# If SRCDIR==BUILDDIR, copy to $(SRCDIR)/instsetoo_native/$(INPATH)/bin as that is where the tinderbox build script
# still looks for the .apk, and we want fresh daily builds to be uploaded.
if test $(SRCDIR) = $(BUILDDIR); then \
mkdir -p $(SRCDIR)/instsetoo_native/$(INPATH)/bin; \
cp $(SRCDIR)/android/experimental/desktop/bin/*-debug.apk $(SRCDIR)/instsetoo_native/$(INPATH)/bin; \
fi
$(call gb_CustomTarget_get_clean_target,android/desktop) :
$(call gb_Output_announce,$(subst $(WORKDIR)/Clean/,,$@),$(false),MAK,2)
......
......@@ -23,12 +23,6 @@ $(call gb_CustomTarget_get_target,android/lo4android) : \
$(lo4android_DIR)/done : $(sdremote_DIR)/done $(call gb_Postprocess_get_target,AllModulesButInstsetNative)
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),MAK,2)
cd $(SRCDIR)/android/experimental/LibreOffice4Android && $(MAKE) all
# If SRCDIR==BUILDDIR, copy to $(SRCDIR)/instsetoo_native/$(INPATH)/bin as that is where the tinderbox build script
# still looks for the .apk, and we want fresh daily builds to be uploaded.
if test $(SRCDIR) = $(BUILDDIR); then \
mkdir -p $(SRCDIR)/instsetoo_native/$(INPATH)/bin; \
cp $(SRCDIR)/android/experimental/LibreOffice4Android/bin/*-debug.apk $(SRCDIR)/instsetoo_native/$(INPATH)/bin; \
fi
$(call gb_CustomTarget_get_clean_target,android/lo4android) :
$(call gb_Output_announce,$(subst $(WORKDIR)/Clean/,,$@),$(false),MAK,2)
......
......@@ -15,12 +15,6 @@ $(call gb_CustomTarget_get_target,android/sdremote) : $(sdremote_DIR)/done
$(sdremote_DIR)/done:
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),MAK,2)
cd $(SRCDIR)/android/sdremote && $(MAKE) all
# If SRCDIR==BUILDDIR, copy to $(SRCDIR)/instsetoo_native/$(INPATH)/bin as that is where the tinderbox build script
# still looks for the .apk, and we want fresh daily builds to be uploaded.
if test $(SRCDIR) = $(BUILDDIR); then \
mkdir -p $(SRCDIR)/instsetoo_native/$(INPATH)/bin; \
cp $(SRCDIR)/android/sdremote/bin/ImpressRemote-debug.apk $(SRCDIR)/instsetoo_native/$(INPATH)/bin; \
fi
$(call gb_CustomTarget_get_clean_target,android/sdremote) :
$(call gb_Output_announce,$(subst $(WORKDIR)/Clean/,,$@),$(false),MAK,2)
......
......@@ -260,8 +260,6 @@ export ICU_RECLASSIFIED_CONDITIONAL_JAPANESE_STARTER=@ICU_RECLASSIFIED_CONDITION
export ICU_RECLASSIFIED_HEBREW_LETTER=@ICU_RECLASSIFIED_HEBREW_LETTER@
export ICU_RECLASSIFIED_PREPEND_SET_EMPTY=@ICU_RECLASSIFIED_PREPEND_SET_EMPTY@
export ILIB=@ILIB@
export INPATH=@INPATH@
export INPATH_FOR_BUILD=@INPATH_FOR_BUILD@
export INSTALLDIR=@INSTALLDIR@
export INSTALLDIRNAME=@INSTALLDIRNAME@
export INSTALL_NAME_TOOL=@INSTALL_NAME_TOOL@
......@@ -436,7 +434,6 @@ export POSTGRESQL_LIB=@POSTGRESQL_LIB@
export PREFIXDIR=@PREFIXDIR@
export PRODUCTNAME=@PRODUCTNAME@
export PRODUCTVERSION=@PRODUCTVERSION@
export PROEXT=@PROEXT@
export PROGRESSBARCOLOR=@PROGRESSBARCOLOR@
export PROGRESSFRAMECOLOR=@PROGRESSFRAMECOLOR@
export PROGRESSPOSITION=@PROGRESSPOSITION@
......
......@@ -3690,7 +3690,6 @@ if test -n "$enable_dbgutil" -a "$enable_dbgutil" != "no"; then
# this is an extra var so it can have different default on different MSVC
# versions (in case there are version specific problems with it)
MSVC_USE_DEBUG_RUNTIME="TRUE"
PROEXT=""
AC_MSG_RESULT([yes])
# cppunit and graphite expose STL in public headers
......@@ -3725,12 +3724,10 @@ if test -n "$enable_dbgutil" -a "$enable_dbgutil" != "no"; then
else
ENABLE_DBGUTIL=""
MSVC_USE_DEBUG_RUNTIME=""
PROEXT=".pro"
AC_MSG_RESULT([no])
fi
AC_SUBST(ENABLE_DBGUTIL)
AC_SUBST(MSVC_USE_DEBUG_RUNTIME)
AC_SUBST(PROEXT)
dnl Set the ENABLE_DEBUG variable.
dnl ===================================================================
......@@ -4325,9 +4322,8 @@ if test "$enable_headless" = "yes"; then
GUIBASE=not-used
fi
INPATH="${OUTPATH}${PROEXT}"
WORKDIR="${BUILDDIR}/workdir/${INPATH}"
INSTDIR="${BUILDDIR}/instdir/${INPATH}"
WORKDIR="${BUILDDIR}/workdir"
INSTDIR="${BUILDDIR}/instdir"
INSTROOT="${INSTDIR}${INSTROOTSUFFIX}"
SOLARINC="-I. -I$SRC_ROOT/include $SOLARINC"
AC_SUBST(COM)
......@@ -4336,7 +4332,6 @@ AC_SUBST(RTL_OS)
AC_SUBST(RTL_ARCH)
AC_SUBST(EPM_FLAGS)
AC_SUBST(GUIBASE)
AC_SUBST(INPATH)
AC_SUBST([INSTDIR])
AC_SUBST([INSTROOT])
AC_SUBST(OS)
......@@ -4462,9 +4457,9 @@ if test "$cross_compiling" = "yes"; then
mv config.log ../config.Build.log
mkdir -p ../config_build
mv config_host/*.h ../config_build
. ./bin/get_config_variables CC CXX INPATH INSTDIR INSTROOT LIBO_BIN_FOLDER LIBO_LIB_FOLDER LIBO_URE_LIB_FOLDER OS PATH SDKDIRNAME SYSTEM_LIBXSLT WORKDIR
. ./bin/get_config_variables CC CXX INSTDIR INSTROOT LIBO_BIN_FOLDER LIBO_LIB_FOLDER LIBO_URE_LIB_FOLDER OS PATH SDKDIRNAME SYSTEM_LIBXSLT WORKDIR
for V in CC CXX INPATH LIBO_BIN_FOLDER LIBO_LIB_FOLDER LIBO_URE_LIB_FOLDER OS SDKDIRNAME SYSTEM_LIBXSLT; do
for V in CC CXX LIBO_BIN_FOLDER LIBO_LIB_FOLDER LIBO_URE_LIB_FOLDER OS SDKDIRNAME SYSTEM_LIBXSLT; do
VV='$'$V
VV=`eval "echo $VV"`
if test -n "$VV"; then
......@@ -4476,7 +4471,7 @@ if test "$cross_compiling" = "yes"; then
for V in INSTDIR INSTROOT WORKDIR; do
VV='$'$V
VV=`eval "echo $VV"`
VV=`echo $VV | sed -e 's,/CONF-FOR-BUILD,,g'`
VV=`echo $VV | sed -e "s,/CONF-FOR-BUILD/\([[a-z]]*\),/\1_for_build,g"`
if test -n "$VV"; then
line="${V}_FOR_BUILD='$VV'"
echo "$line" >>build-config
......@@ -4489,15 +4484,18 @@ if test "$cross_compiling" = "yes"; then
)
test -f CONF-FOR-BUILD/build-config || AC_MSG_ERROR([Running configure script for BUILD system failed, see CONF-FOR-BUILD/config.log])
test -f config_build.mk || AC_MSG_ERROR([A file called config_build.mk was supposed to have been copied here, but it isn't found])
perl -pi -e 's,/CONF-FOR-BUILD,,g' config_build.mk
perl -pi -e 's,/(workdir|instdir)(/|$),/\1_for_build\2,g;' \
-e 's,/CONF-FOR-BUILD,,g;' config_build.mk
eval `cat CONF-FOR-BUILD/build-config`
AC_MSG_RESULT([checking for BUILD platform configuration... done])
rm -rf CONF-FOR-BUILD
else
OS_FOR_BUILD="$OS"
CC_FOR_BUILD="$CC"
CXX_FOR_BUILD="$CXX"
INPATH_FOR_BUILD="$INPATH"
INSTDIR_FOR_BUILD="$INSTDIR"
INSTROOT_FOR_BUILD="$INSTROOT"
LIBO_BIN_FOLDER_FOR_BUILD="$LIBO_BIN_FOLDER"
......@@ -4507,7 +4505,6 @@ else
WORKDIR_FOR_BUILD="$WORKDIR"
fi
AC_SUBST(OS_FOR_BUILD)
AC_SUBST(INPATH_FOR_BUILD)
AC_SUBST(INSTDIR_FOR_BUILD)
AC_SUBST(INSTROOT_FOR_BUILD)
AC_SUBST(LIBO_BIN_FOLDER_FOR_BUILD)
......@@ -12242,7 +12239,7 @@ AC_SUBST(DOCDIR)
INSTALLDIR="$LIBDIR/$INSTALLDIRNAME"
AC_SUBST(INSTALLDIR)
TESTINSTALLDIR="${BUILDDIR}/test-install/${INPATH}"
TESTINSTALLDIR="${BUILDDIR}/test-install"
AC_SUBST(TESTINSTALLDIR)
......@@ -12700,7 +12697,7 @@ _EOF
if test $_os != WINNT -a "$CROSS_COMPILING" != YES; then
cat << _EOF
After the build has finished, your can immediately run it using:
instdir/${INPATH}/program/soffice
instdir/program/soffice
If you want to run the smoketest, issue:
$GNUMAKE check
......
......@@ -10,7 +10,7 @@
$(eval $(call gb_Executable_Executable,crashrep))
$(eval $(call gb_Executable_add_defs,crashrep,\
-D_INPATH=\"$(INPATH)\" \
-D_INPATH=\"$(OS)_$(CPUNAME)\" \
))
$(eval $(call gb_Executable_use_external,crashrep,boost_headers))
......
......@@ -37,7 +37,7 @@ $(call gb_ExternalProject_get_state_target,icu,build) :
$(if $(filter YES,$(MINGW_SHARED_GCCLIB)),-shared-libgcc)" \
./configure \
$(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) \
--with-cross-build=$(subst $(INPATH),$(INPATH_FOR_BUILD),$(call gb_UnpackedTarball_get_dir,icu))/source) \
--with-cross-build=$(WORKDIR_FOR_BUILD)/UnpackedTarball/icu/source) \
--disable-layout --disable-static --enable-shared --disable-samples \
&& $(MAKE) \
&& for lib in icudata icuin icuuc; do \
......@@ -84,7 +84,7 @@ $(call gb_ExternalProject_get_state_target,icu,build) :
--enable-static --disable-shared,\
--disable-static --enable-shared $(if $(filter ANDROID,$(OS)),--with-library-suffix=lo)) \
$(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)\
--with-cross-build=$(subst $(INPATH),$(INPATH_FOR_BUILD),$(call gb_UnpackedTarball_get_dir,icu))/source)\
--with-cross-build=$(WORKDIR_FOR_BUILD)/UnpackedTarball/icu/source)\
&& $(MAKE) \
$(if $(filter MACOSX,$(OS)),&& $(PERL) \
$(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
......
......@@ -57,7 +57,7 @@ static void debug_cal_msg(const char *pat, ...)
#if erDUMP_ICU_CALENDAR
// Make icu with
// DEFS = -DU_DEBUG_CALSVC -DUCAL_DEBUG_DUMP
// in icu/$(INPATH)/misc/build/icu/source/icudefs.mk
// in workdir/UnpackedTarball/icu/source/icudefs.mk
// May need some patches to fix unmaintained things there.
extern void ucal_dump( const icu::Calendar & );
static void debug_icu_cal_dump( const ::icu::Calendar & r )
......
......@@ -469,7 +469,7 @@
GCC_PREFIX_HEADER = "LibreOffice/LibreOffice-Prefix.pch";
INFOPLIST_FILE = "LibreOffice/LibreOffice-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
LIBRARY_SEARCH_PATHS = "../../../workdir/$(LO_INPATH)/LinkTarget/Library";
LIBRARY_SEARCH_PATHS = "../../../workdir/LinkTarget/Library";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
......@@ -482,7 +482,7 @@
GCC_PREFIX_HEADER = "LibreOffice/LibreOffice-Prefix.pch";
INFOPLIST_FILE = "LibreOffice/LibreOffice-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
LIBRARY_SEARCH_PATHS = "../../../workdir/$(LO_INPATH)/LinkTarget/Library";
LIBRARY_SEARCH_PATHS = "../../../workdir/LinkTarget/Library";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
......
......@@ -61,8 +61,8 @@ $(packimages_DIR)/commandimagelist.ilst :
$(call gb_Helper_abbreviate_dirs, \
find $(SRCDIR)/icon-themes/galaxy/cmd -name "*.png" -o -name "*.svg" | \
sed "s#$(SRCDIR)/icon-themes/galaxy#%MODULE%#" | \
LC_ALL=C sort > $@.$(INPATH) && \
$(PERL) $(SRCDIR)/solenv/bin/diffmv.pl $@.$(INPATH) $@ \
LC_ALL=C sort > $@.tmp && \
$(PERL) $(SRCDIR)/solenv/bin/diffmv.pl $@.tmp $@ \
$(if $(findstring s,$(MAKEFLAGS)),2> /dev/null))
$(packimages_DIR)/sorted.lst : \
......
......@@ -63,7 +63,7 @@ determine_binary_package_name()
csha=$(get_config_sha)
gsha=$(get_library_gbuild_sha "${module?}")
if [ -n "${csha?}" -a -n "${gsha}" ] ; then
binfile="${csha?}_${gsha?}_${tarball?}.${INPATH?}.tar.gz"
binfile="${csha?}_${gsha?}_${tarball?}.${PLATFORM?}.tar.gz"
fi
echo "${binfile}"
......@@ -125,7 +125,7 @@ while [ "${1}" != "" ]; do
shift;
arg="$1"
fi
INPATH="$arg"
PLATFORM="$arg"
;;
-q)
V=0
......
......@@ -9,14 +9,6 @@
# create ID file for the whole LibO tree. run it in toplevel dir
if [ -z "$INPATH" ] ; then
INPATH=$(grep "INPATH=" ./config_host.mk | sed -e "s/INPATH=//")
fi
if [ -z "$INPATH" ] ; then
echo "could not determine INPATH" >&2
exit 1
fi
# TODO: should this include workdir headers?
if [ "$1" = "--with-outpath" ]; then
dirs="`ls -d */* | sed -e '/\(\/\(cscope\.\|tags\|ID\)\)\|^\(clone\|workdir\|instdir\)\//d'`"
......
......@@ -7,16 +7,8 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
if [ -z "$INPATH" ] ; then
INPATH=$(grep "INPATH=" ./config_host.mk | sed -e "s/export INPATH=//")
fi
if [ -z "$INPATH" ] ; then
echo "could not determine INPATH" >&2
exit 1
fi
omnicppoptions="--c++-kinds=+p --fields=+iaS --extra=+q"
ctags -h "+.hdl.hrc" --langmap=c:+.hdl.hrc.src $omnicppoptions \
--languages=-HTML,Java,JavaScript \
-R --exclude=`echo ${INPATH} | sed 's/\./\\\./g'` --exclude=workdir \
-R --exclude=instdir --exclude=workdir \
--exclude=clone --totals=yes *
......@@ -108,7 +108,6 @@ which dot > /dev/null 2>&1 || {
}
# suck setup
setup "INPATH"
setup "SOLARINC"
shopt -s nullglob
......
......@@ -62,7 +62,7 @@ if ($help) {
my $BUILD=$ENV{LIBO_VERSION_PATCH};
$ENV{LAST_MINOR} = 'm0';
$ENV{OUT} = "../$ENV{'INPATH'}";
$ENV{OUT} = "../FIXME";
$ENV{LOCAL_OUT} = $ENV{OUT};
$ENV{LOCAL_COMMON_OUT} = $ENV{OUT};
......@@ -79,8 +79,8 @@ if (defined $ENV{DESTDIR} &&
$msi='';
if ($is_windows) {
$msi = "-msitemplate $ENV{SRC_ROOT}/workdir/$ENV{INPATH}/CustomTarget/instsetoo_native/install/msi_templates " .
"-msilanguage $ENV{SRC_ROOT}/workdir/$ENV{INPATH}/CustomTarget/instsetoo_native/install/win_ulffiles";
$msi = "-msitemplate $ENV{SRC_ROOT}/workdir/CustomTarget/instsetoo_native/install/msi_templates " .
"-msilanguage $ENV{SRC_ROOT}/workdir/CustomTarget/instsetoo_native/install/win_ulffiles";
}
# FIXME: a better solution would be to fix installer to deal with broken symlinks
......
......@@ -117,7 +117,7 @@ sub parse_options
exit(1);
}
#define intermediate output file
$tmp_out_file="$out_file"."$$".$ENV{INPATH};
$tmp_out_file="$out_file"."$$".".tmp";
# Sanity checks.
# Check if out_file can be written.
......
......@@ -32,7 +32,6 @@ static const Integer OSL_DEBUG_LEVEL;
static const List<Path> SOLARINC;
static const List<Path> SOLARLIB;
static const Path GBUILDDIR;
static const Path INPATH;
static const Path JAVA_HOME;
static const Path UPD;
static const String LIBXML_CFLAGS;
......
......@@ -255,9 +255,9 @@ endef
define gb_UnpackedTarball_set_tarball
$(if $(findstring YES,$(USE_LIBRARY_BIN_TAR)),
$(if $(4),
$(if $(shell "$(SRCDIR)/solenv/bin/bin_library_info.sh" -l "$(gb_UnpackedTarget_TARFILE_LOCATION)" -o "$(4)" -b "$(BUILDDIR)" -s "$(SRCDIR)" -t "$(2)" -m verify -p "$(INPATH)"),
$(call gb_UnpackedTarball_set_tarball_internal,$(1),$(shell "$(SRCDIR)/solenv/bin/bin_library_info.sh" -l "$(gb_UnpackedTarget_TARFILE_LOCATION)" -o "$(4)" -b "$(BUILDDIR)" -s "$(SRCDIR)" -t "$(2)" -m verify -p "$(INPATH)"),$(3),$(4),in),\
$(call gb_UnpackedTarball_set_tarball_internal,$(1),$(2),$(3),$(4),out,$(shell "$(SRCDIR)/solenv/bin/bin_library_info.sh" -l "$(gb_UnpackedTarget_TARFILE_LOCATION)" -o "$(4)" -b "$(BUILDDIR)" -s "$(SRCDIR)" -t "$(2)" -m name -p "$(INPATH)")))
$(if $(shell "$(SRCDIR)/solenv/bin/bin_library_info.sh" -l "$(gb_UnpackedTarget_TARFILE_LOCATION)" -o "$(4)" -b "$(BUILDDIR)" -s "$(SRCDIR)" -t "$(2)" -m verify -p "$(OS)_$(CPUNAME)"),
$(call gb_UnpackedTarball_set_tarball_internal,$(1),$(shell "$(SRCDIR)/solenv/bin/bin_library_info.sh" -l "$(gb_UnpackedTarget_TARFILE_LOCATION)" -o "$(4)" -b "$(BUILDDIR)" -s "$(SRCDIR)" -t "$(2)" -m verify -p "$(OS)_$(CPUNAME)"),$(3),$(4),in),\
$(call gb_UnpackedTarball_set_tarball_internal,$(1),$(2),$(3),$(4),out,$(shell "$(SRCDIR)/solenv/bin/bin_library_info.sh" -l "$(gb_UnpackedTarget_TARFILE_LOCATION)" -o "$(4)" -b "$(BUILDDIR)" -s "$(SRCDIR)" -t "$(2)" -m name -p "$(OS)_$(CPUNAME)")))
,
$(call gb_UnpackedTarball_set_tarball_internal,$(1),$(2),$(3),$(4),)
)
......
......@@ -22,7 +22,6 @@ GBUILDDIR:=$(SRCDIR)/solenv/gbuild
# vars needed from the env/calling makefile
# DEBUG
# INPATH
# JAVA_HOME
# LIBXML_CFLAGS
# OS
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment