同步操作将从 OpenHarmony-SIG/python 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#! /bin/sh# Convert templates into Makefile and config.c, based on the module# definitions found in the file Setup.## Usage: makesetup [-s dir] [-c file] [-m file] [Setup] ... [-n [Setup] ...]## Options:# -s directory: alternative source directory (default .)# -l directory: library source directory (default derived from 0ドル)# -c file: alternative config.c template (default $libdir/config.c.in)# -c -: don't write config.c# -m file: alternative Makefile template (default ./Makefile.pre)# -m -: don't write Makefile## Remaining arguments are one or more Setup files (default ./Setup).# Setup files after a -n option are used for their variables, modules# and libraries but not for their .o files.## See Setup for a description of the format of the Setup file.## The following edits are made:## Copying config.c.in to config.c:# - insert an identifying comment at the start# - for each <module> mentioned in Setup before *noconfig*:# + insert 'extern PyObject* PyInit_<module>(void);' before MARKER 1# + insert '{"<module>", PyInit_<module>},' before MARKER 2## Copying Makefile.pre to Makefile:# - insert an identifying comment at the start# - replace _MODBUILT_NAMES_ by the list of *static* and *shared* modules# from Setup# - replace _MODDISABLED_NAMES_ by the list of *disabled* modules from Setup# - replace _MODOBJS_ by the list of objects from Setup (except for# Setup files after a -n option)# - replace _MODLIBS_ by the list of libraries from Setup# - for each object file mentioned in Setup, append a rule# '<file>.o: <file>.c; <build commands>' to the end of the Makefile# - for each module mentioned in Setup, append a rule# which creates a shared library version to the end of the Makefile# - for each variable definition found in Setup, insert the definition# before the comment 'Definitions added by makesetup'# Loop over command line optionsusage='usage: makesetup [-s srcdir] [-l libdir] [-c config.c.in] [-m Makefile.pre][Setup] ... [-n [Setup] ...]'srcdir='.'libdir=''config=''makepre=''noobjects=''doconfig=yeswhile :docase 1ドル in-s) shift; srcdir=1ドル; shift;;-l) shift; libdir=1ドル; shift;;-c) shift; config=1ドル; shift;;-m) shift; makepre=1ドル; shift;;--) shift; break;;-n) noobjects=yes;;-*) echo "$usage" 1>&2; exit 2;;*) break;;esacdone# Set default libdir and config if not set by command line# (Not all systems have dirname)case $libdir in'') case 0ドル in*/*) libdir=`echo 0ドル | sed 's,/[^/]*,,ドル'`;;*) libdir=.;;esac;;esaccase $config in'') config=$libdir/config.c.in;;esaccase $makepre in'') makepre=Makefile.pre;;esac# Newline for sed i and a commandsNL='\'# Setup to link with extra libraries when making shared extensions.# Currently, only Cygwin needs this baggage.case `uname -s` inCYGWIN*) if test $libdir = .thenExtraLibDir=.elseExtraLibDir='$(LIBPL)'fiExtraLibs="-L$ExtraLibDir -lpython\$(LDVERSION)";;esac# Main loopfor i in ${*-Setup}docase $i in-n) echo '*noobjects*';;*) echo '*doconfig*'; cat "$i";;esacdone |sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |(rulesf="@rules.$$"trap 'rm -f $rulesf' 0 1 2 3echo "# Rules appended by makesetup" >$rulesfDEFS=BUILT=DISABLED=MODS=SHAREDMODS=OBJS=LIBS=LOCALLIBS=BASELIBS=while read linedo# to handle backslashes for sh's that don't automatically# continue a read when the last char is a backslashwhile echo $line | grep '\\$' > /dev/nulldoread extralineline=`echo $line| sed s/.$//`$extralinedone# Output DEFS in reverse order so first definition overridescase $line in*=*) DEFS="$line$NL$DEFS"; continue;;'include '*) DEFS="$line$NL$DEFS"; continue;;'*noobjects*')case $noobjects inyes) ;;*) LOCALLIBS=$LIBS; LIBS=;;esacnoobjects=yes;continue;;'*doconfig*') doconfig=yes; continue;;'*static*') doconfig=yes; continue;;'*noconfig*') doconfig=no; continue;;'*shared*') doconfig=no; continue;;'*disabled*') doconfig=disabled; continue;;esacsrcs=cpps=libs=mods=skip=for arg in $linedocase $skip inlibs) libs="$libs$arg"; skip=; continue;;cpps) cpps="$cpps$arg"; skip=; continue;;srcs) srcs="$srcs$arg"; skip=; continue;;esaccase $arg in-framework) libs="$libs$arg"; skip=libs;# OSX/OSXS/Darwin framework link cmd;;-[IDUCfF]*) cpps="$cpps$arg";;-Xcompiler) skip=cpps;;-Xlinker) libs="$libs$arg"; skip=libs;;-rpath) libs="$libs$arg"; skip=libs;;--rpath) libs="$libs$arg"; skip=libs;;-[A-Zl]*) libs="$libs$arg";;*.a) libs="$libs$arg";;*.so) libs="$libs$arg";;*.sl) libs="$libs$arg";;/*.o) libs="$libs$arg";;*.def) libs="$libs$arg";;*.o) srcs="$srcs`basename $arg .o`.c";;*.[cC]) srcs="$srcs$arg";;*.m) srcs="$srcs$arg";; # Objective-C src*.cc) srcs="$srcs$arg";;*.c++) srcs="$srcs$arg";;*.cxx) srcs="$srcs$arg";;*.cpp) srcs="$srcs$arg";;\$*) libs="$libs$arg"cpps="$cpps$arg";;*.*) echo 1>&2 "bad word $arg in $line"exit 1;;-u) skip=libs; libs="$libs -u";;[a-zA-Z_]*) mods="$mods$arg";;*) echo 1>&2 "bad word $arg in $line"exit 1;;esacdonecase $doconfig inyes)LIBS="$LIBS$libs"MODS="$MODS$mods"BUILT="$BUILT$mods";;no)BUILT="$BUILT$mods";;disabled)DISABLED="$DISABLED$mods"continue;;esaccase $noobjects inyes) continue;;esacobjs=''for src in $srcsdocase $src in*.c) obj=`basename $src .c`.o; cc='$(CC)';;*.cc) obj=`basename $src .cc`.o; cc='$(CXX)';;*.c++) obj=`basename $src .c++`.o; cc='$(CXX)';;*.C) obj=`basename $src .C`.o; cc='$(CXX)';;*.cxx) obj=`basename $src .cxx`.o; cc='$(CXX)';;*.cpp) obj=`basename $src .cpp`.o; cc='$(CXX)';;*.m) obj=`basename $src .m`.o; cc='$(CC)';; # Obj-C*) continue;;esacobj="$srcdir/$obj"objs="$objs$obj"case $src inglmodule.c) ;;/*) ;;\$*) ;;*) src='$(srcdir)/'"$srcdir/$src";;esaccase $doconfig inno) cc="$cc\$(CCSHARED) \$(PY_CFLAGS) \$(PY_CPPFLAGS)";;*)cc="$cc\$(PY_BUILTIN_MODULE_CFLAGS)";;esacrule="$obj: $src; $cc$cpps -c $src -o $obj"echo "$rule" >>$rulesfdonecase $doconfig inyes) OBJS="$OBJS$objs";;esacfor mod in $modsdofile="$srcdir/$mod\$(EXT_SUFFIX)"case $doconfig inno) SHAREDMODS="$SHAREDMODS$file";;esacrule="$file: $objs"rule="$rule; \$(BLDSHARED) $objs$libs$ExtraLibs -o $file"echo "$rule" >>$rulesfdonedonecase $SHAREDMODS in'') ;;*) DEFS="SHAREDMODS=$SHAREDMODS$NL$DEFS";;esaccase $noobjects inyes) BASELIBS=$LIBS;;*) LOCALLIBS=$LIBS;;esacLIBS='$(LOCALMODLIBS) $(BASEMODLIBS)'DEFS="BASEMODLIBS=$BASELIBS$NL$DEFS"DEFS="LOCALMODLIBS=$LOCALLIBS$NL$DEFS"EXTDECLS=INITBITS=for mod in $MODSdoEXTDECLS="${EXTDECLS}extern PyObject* PyInit_$mod(void);$NL"INITBITS="${INITBITS} {\"$mod\", PyInit_$mod},$NL"donecase $config in-) ;;*) sed -e "1i$NL/* Generated automatically from $config by makesetup. *//MARKER 1/i$NL$EXTDECLS/MARKER 2/i$NL$INITBITS" $config >config.c;;esaccase $makepre in-) ;;*) sedf="@sed.in.$$"trap 'rm -f $sedf' 0 1 2 3echo "1i\\" >$sedfstr="# Generated automatically from $makepre by makesetup."echo "$str" >>$sedfecho "s%_MODBUILT_NAMES_%$BUILT%" >>$sedfecho "s%_MODDISABLED_NAMES_%$DISABLED%" >>$sedfecho "s%_MODOBJS_%$OBJS%" >>$sedfecho "s%_MODLIBS_%$LIBS%" >>$sedfecho "/Definitions added by makesetup/a$NL$NL$DEFS" >>$sedfsed -f $sedf $makepre >Makefilecat $rulesf >>Makefilerm -f $sedf;;esacrm -f $rulesf)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。