Two changes:
- Use -fPIC instead of -fpic (latter breaks py-Numeric on sparc). Suggested by tv@netbsd.org. This is inherited by most py-* packages. Change sent to guido@cnri.reston.va.us. - Remove official patches from patches dir. Use PATCHFILES mechanism instead to get them from www.python.org.
This commit is contained in:
parent
0176fb147c
commit
99de3c8caf
18 changed files with 69 additions and 880 deletions
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: Makefile,v 1.6 1998/06/22 12:44:31 agc Exp $
|
||||
# $NetBSD: Makefile,v 1.7 1998/07/11 20:33:12 tsarna Exp $
|
||||
#
|
||||
|
||||
DISTNAME= pyth151
|
||||
|
@ -7,12 +7,25 @@ CATEGORIES= lang
|
|||
MASTER_SITES= ftp://ftp.python.org/pub/python/src/
|
||||
EXTRACT_SUFX= .tgz
|
||||
|
||||
MAINTAINER= tsarna@endicor.com
|
||||
MAINTAINER= tsarna@netbsd.org
|
||||
|
||||
# Official post-release patches from www.python.org
|
||||
|
||||
PATCH_SITES= http://www.python.org/1.5/patches-1.5.1/
|
||||
PATCHFILES= freeze.1.txt _tkinter.1.txt configure.1.txt \
|
||||
object.1.txt parsermodule.1.txt zlibmodule.1.txt \
|
||||
string.1.txt bltinmodule.1.txt timemodule.1.txt \
|
||||
fileobject.1.txt urllib.1.txt pcre.1.txt \
|
||||
configure.2.txt imaplib.1.txt urllib.2.txt \
|
||||
sgmllib.1.txt bltinmodule.2.txt ceval.1.txt gzip.1.txt \
|
||||
imaplib.2.txt import.1.txt imaplib.3.txt \
|
||||
stringobject.1.txt sgmllib.2.txt
|
||||
|
||||
WRKSRC= ${WRKDIR}/Python-1.5.1
|
||||
GNU_CONFIGURE= yes
|
||||
MAKE_FLAGS+= 'OPT=${CFLAGS}'
|
||||
|
||||
|
||||
# Handle the module setup file:
|
||||
# - disable some modules on 64 bit platforms
|
||||
# - handle machines with no dynamic loader
|
||||
|
|
|
@ -1 +1,25 @@
|
|||
MD5 (pyth151.tgz) = eb8ef6e37e543058a2d47996ecf62427
|
||||
MD5 (freeze.1.txt) = 7cb9266ba6db670cd019cf27c77468ef
|
||||
MD5 (_tkinter.1.txt) = 7298bfd731a613a28e2cb72ad8e3e266
|
||||
MD5 (configure.1.txt) = 8d525b80d2442021dc29fbd328b8f87d
|
||||
MD5 (object.1.txt) = f03bad9c3d67190232fce407b0c0fa51
|
||||
MD5 (parsermodule.1.txt) = 24e41667e705fbe310e8d8dd85da706d
|
||||
MD5 (zlibmodule.1.txt) = 7d8dfda5f91fd370e001d1f544afd279
|
||||
MD5 (string.1.txt) = 581f5dc5c173e8f9927a5a71f7c2b0cc
|
||||
MD5 (bltinmodule.1.txt) = c1edf803162860802d45c32d9799daaa
|
||||
MD5 (timemodule.1.txt) = 7f53c69797c03c7db56f117514790e0d
|
||||
MD5 (fileobject.1.txt) = 20ebd260276bdf6c3723c62a370e1c8c
|
||||
MD5 (urllib.1.txt) = d8b46f39d521d5d6738fe4c6e905a313
|
||||
MD5 (pcre.1.txt) = f3776741849f1be9fc1cd55dc0faeadd
|
||||
MD5 (configure.2.txt) = a51d521cf899a74b234f5b0fc1a2207c
|
||||
MD5 (imaplib.1.txt) = ece2e50e69e7ec86c1a9cc310d5ae220
|
||||
MD5 (urllib.2.txt) = e0189571f5b40a87be4c20ad13a02e62
|
||||
MD5 (sgmllib.1.txt) = e5ef0538266ff97efd830dfdcc2fcdd5
|
||||
MD5 (bltinmodule.2.txt) = 07ba49023b28437733ec611ddf4558fb
|
||||
MD5 (ceval.1.txt) = 1d062f62a16189df9832defd22aa9735
|
||||
MD5 (gzip.1.txt) = 55140b037c55b19795ed4543986c2fd4
|
||||
MD5 (imaplib.2.txt) = f8cb53849055badd3037545a92d1a123
|
||||
MD5 (import.1.txt) = 15ab480458410b0450b07f3eedb15cda
|
||||
MD5 (imaplib.3.txt) = 3a8180096777c690c5ffd8c4fbd6c38b
|
||||
MD5 (stringobject.1.txt) = d1ccf56c0db0ba1df715ce55a5788ed3
|
||||
MD5 (sgmllib.2.txt) = 0ad52d457fbc84fbffe5b7b984e3d8d4
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
Index: Tools/freeze/freeze.py
|
||||
===================================================================
|
||||
RCS file: /projects/cvsroot/python/dist/src/Tools/freeze/freeze.py,v
|
||||
retrieving revision 1.25
|
||||
retrieving revision 1.26
|
||||
diff -c -r1.25 -r1.26
|
||||
*** freeze.py 1998/03/20 17:37:18 1.25
|
||||
--- freeze.py 1998/04/20 17:53:19 1.26
|
||||
***************
|
||||
*** 72,78 ****
|
||||
import os
|
||||
import string
|
||||
import sys
|
||||
- import addpack
|
||||
|
||||
|
||||
# Import the freeze-private modules
|
||||
--- 72,77 ----
|
|
@ -1,19 +0,0 @@
|
|||
Index: Modules/_tkinter.c
|
||||
===================================================================
|
||||
RCS file: /projects/cvsroot/python/dist/src/Modules/_tkinter.c,v
|
||||
retrieving revision 1.62
|
||||
diff -c -r1.62 _tkinter.c
|
||||
*** _tkinter.c 1998/04/10 22:27:26 1.62
|
||||
--- _tkinter.c 1998/04/20 18:19:51
|
||||
***************
|
||||
*** 1548,1554 ****
|
||||
--- 1548,1556 ----
|
||||
if (PyErr_Occurred())
|
||||
return;
|
||||
|
||||
+ #if TKMAJORMINOR >= 8000
|
||||
Py_AtExit(Tcl_Finalize);
|
||||
+ #endif
|
||||
|
||||
#ifdef macintosh
|
||||
/*
|
|
@ -1,50 +0,0 @@
|
|||
Index: configure.in
|
||||
===================================================================
|
||||
RCS file: /projects/cvsroot/python/dist/src/configure.in,v
|
||||
retrieving revision 1.83
|
||||
retrieving revision 1.84
|
||||
diff -c -r1.83 -r1.84
|
||||
*** configure.in 1998/04/13 15:27:01 1.83
|
||||
--- configure.in 1998/04/20 18:51:54 1.84
|
||||
***************
|
||||
*** 314,320 ****
|
||||
SCO_SV*) CCSHARED="-KPIC -dy -Bdynamic";;
|
||||
IRIX*/6*) case $CC in
|
||||
*gcc*) CCSHARED="-shared";;
|
||||
! *) CCSHARED="-shared -all";;
|
||||
esac;;
|
||||
esac
|
||||
fi
|
||||
--- 314,320 ----
|
||||
SCO_SV*) CCSHARED="-KPIC -dy -Bdynamic";;
|
||||
IRIX*/6*) case $CC in
|
||||
*gcc*) CCSHARED="-shared";;
|
||||
! *) CCSHARED="";;
|
||||
esac;;
|
||||
esac
|
||||
fi
|
||||
Index: configure
|
||||
===================================================================
|
||||
RCS file: /projects/cvsroot/python/dist/src/configure,v
|
||||
retrieving revision 1.76
|
||||
retrieving revision 1.77
|
||||
diff -c -r1.76 -r1.77
|
||||
*** configure 1998/04/13 15:26:57 1.76
|
||||
--- configure 1998/04/20 18:51:49 1.77
|
||||
***************
|
||||
*** 1865,1871 ****
|
||||
SCO_SV*) CCSHARED="-KPIC -dy -Bdynamic";;
|
||||
IRIX*/6*) case $CC in
|
||||
*gcc*) CCSHARED="-shared";;
|
||||
! *) CCSHARED="-shared -all";;
|
||||
esac;;
|
||||
esac
|
||||
fi
|
||||
--- 1865,1871 ----
|
||||
SCO_SV*) CCSHARED="-KPIC -dy -Bdynamic";;
|
||||
IRIX*/6*) case $CC in
|
||||
*gcc*) CCSHARED="-shared";;
|
||||
! *) CCSHARED="";;
|
||||
esac;;
|
||||
esac
|
||||
fi
|
|
@ -1,27 +0,0 @@
|
|||
Index: Objects/object.c
|
||||
===================================================================
|
||||
RCS file: /projects/cvsroot/python/dist/src/Objects/object.c,v
|
||||
retrieving revision 2.55
|
||||
retrieving revision 2.56
|
||||
diff -c -r2.55 -r2.56
|
||||
*** object.c 1998/04/11 15:17:34 2.55
|
||||
--- object.c 1998/04/21 22:25:01 2.56
|
||||
***************
|
||||
*** 188,195 ****
|
||||
ret = -1;
|
||||
}
|
||||
else {
|
||||
! fprintf(fp, "%s",
|
||||
! PyString_AsString(s));
|
||||
}
|
||||
Py_XDECREF(s);
|
||||
}
|
||||
--- 188,195 ----
|
||||
ret = -1;
|
||||
}
|
||||
else {
|
||||
! ret = PyObject_Print(s, fp,
|
||||
! Py_PRINT_RAW);
|
||||
}
|
||||
Py_XDECREF(s);
|
||||
}
|
|
@ -1,112 +0,0 @@
|
|||
Index: Modules/parsermodule.c
|
||||
===================================================================
|
||||
RCS file: /projects/cvsroot/python/dist/src/Modules/parsermodule.c,v
|
||||
retrieving revision 2.25
|
||||
retrieving revision 2.26
|
||||
diff -c -r2.25 -r2.26
|
||||
*** parsermodule.c 1998/04/13 18:45:18 2.25
|
||||
--- parsermodule.c 1998/04/21 22:31:45 2.26
|
||||
***************
|
||||
*** 473,483 ****
|
||||
|
||||
static PyMethodDef
|
||||
parser_methods[] = {
|
||||
! {"compile", parser_compileast, METH_VARARGS},
|
||||
! {"isexpr", parser_isexpr, METH_VARARGS},
|
||||
! {"issuite", parser_issuite, METH_VARARGS},
|
||||
! {"tolist", parser_ast2list, METH_VARARGS},
|
||||
! {"totuple", parser_ast2tuple, METH_VARARGS},
|
||||
|
||||
{NULL}
|
||||
};
|
||||
--- 473,488 ----
|
||||
|
||||
static PyMethodDef
|
||||
parser_methods[] = {
|
||||
! {"compile", (PyCFunction)parser_compileast, METH_VARARGS,
|
||||
! "Compile this AST object into a code object."},
|
||||
! {"isexpr", (PyCFunction)parser_isexpr, METH_VARARGS,
|
||||
! "Determines if this AST object was created from an expression."},
|
||||
! {"issuite", (PyCFunction)parser_issuite, METH_VARARGS,
|
||||
! "Determines if this AST object was created from a suite."},
|
||||
! {"tolist", (PyCFunction)parser_ast2list, METH_VARARGS,
|
||||
! "Creates a list-tree representation of this AST."},
|
||||
! {"totuple", (PyCFunction)parser_ast2tuple, METH_VARARGS,
|
||||
! "Creates a tuple-tree representation of this AST."},
|
||||
|
||||
{NULL}
|
||||
};
|
||||
***************
|
||||
*** 2685,2711 ****
|
||||
* inheritance.
|
||||
*/
|
||||
static PyMethodDef parser_functions[] = {
|
||||
! {"ast2tuple", parser_ast2tuple, METH_VARARGS,
|
||||
"Creates a tuple-tree representation of an AST."},
|
||||
! {"ast2list", parser_ast2list, METH_VARARGS,
|
||||
"Creates a list-tree representation of an AST."},
|
||||
! {"compileast", parser_compileast, METH_VARARGS,
|
||||
"Compiles an AST object into a code object."},
|
||||
! {"expr", parser_expr, METH_VARARGS,
|
||||
"Creates an AST object from an expression."},
|
||||
! {"isexpr", parser_isexpr, METH_VARARGS,
|
||||
"Determines if an AST object was created from an expression."},
|
||||
! {"issuite", parser_issuite, METH_VARARGS,
|
||||
"Determines if an AST object was created from a suite."},
|
||||
! {"suite", parser_suite, METH_VARARGS,
|
||||
"Creates an AST object from a suite."},
|
||||
! {"sequence2ast", parser_tuple2ast, METH_VARARGS,
|
||||
"Creates an AST object from a tree representation."},
|
||||
! {"tuple2ast", parser_tuple2ast, METH_VARARGS,
|
||||
"Creates an AST object from a tree representation."},
|
||||
|
||||
/* private stuff: support pickle module */
|
||||
! {"_pickler", parser__pickler, METH_VARARGS,
|
||||
"Returns the pickle magic to allow ast objects to be pickled."},
|
||||
|
||||
{0, 0, 0}
|
||||
--- 2690,2716 ----
|
||||
* inheritance.
|
||||
*/
|
||||
static PyMethodDef parser_functions[] = {
|
||||
! {"ast2tuple", (PyCFunction)parser_ast2tuple, METH_VARARGS,
|
||||
"Creates a tuple-tree representation of an AST."},
|
||||
! {"ast2list", (PyCFunction)parser_ast2list, METH_VARARGS,
|
||||
"Creates a list-tree representation of an AST."},
|
||||
! {"compileast", (PyCFunction)parser_compileast, METH_VARARGS,
|
||||
"Compiles an AST object into a code object."},
|
||||
! {"expr", (PyCFunction)parser_expr, METH_VARARGS,
|
||||
"Creates an AST object from an expression."},
|
||||
! {"isexpr", (PyCFunction)parser_isexpr, METH_VARARGS,
|
||||
"Determines if an AST object was created from an expression."},
|
||||
! {"issuite", (PyCFunction)parser_issuite, METH_VARARGS,
|
||||
"Determines if an AST object was created from a suite."},
|
||||
! {"suite", (PyCFunction)parser_suite, METH_VARARGS,
|
||||
"Creates an AST object from a suite."},
|
||||
! {"sequence2ast", (PyCFunction)parser_tuple2ast, METH_VARARGS,
|
||||
"Creates an AST object from a tree representation."},
|
||||
! {"tuple2ast", (PyCFunction)parser_tuple2ast, METH_VARARGS,
|
||||
"Creates an AST object from a tree representation."},
|
||||
|
||||
/* private stuff: support pickle module */
|
||||
! {"_pickler", (PyCFunction)parser__pickler, METH_VARARGS,
|
||||
"Returns the pickle magic to allow ast objects to be pickled."},
|
||||
|
||||
{0, 0, 0}
|
||||
***************
|
||||
*** 2761,2767 ****
|
||||
/* register to support pickling */
|
||||
module = PyImport_ImportModule("copy_reg");
|
||||
if (module != NULL) {
|
||||
! PyObject *func, *constructor, *pickler;
|
||||
|
||||
func = PyObject_GetAttrString(module, "pickle");
|
||||
pickle_constructor = PyDict_GetItemString(dict, "sequence2ast");
|
||||
--- 2766,2772 ----
|
||||
/* register to support pickling */
|
||||
module = PyImport_ImportModule("copy_reg");
|
||||
if (module != NULL) {
|
||||
! PyObject *func, *pickler;
|
||||
|
||||
func = PyObject_GetAttrString(module, "pickle");
|
||||
pickle_constructor = PyDict_GetItemString(dict, "sequence2ast");
|
|
@ -1,17 +0,0 @@
|
|||
Index: Modules/zlibmodule.c
|
||||
===================================================================
|
||||
RCS file: /projects/cvsroot/python/dist/src/Modules/zlibmodule.c,v
|
||||
retrieving revision 2.12
|
||||
diff -c -r2.12 zlibmodule.c
|
||||
*** zlibmodule.c 1997/12/18 05:21:29 2.12
|
||||
--- zlibmodule.c 1998/04/22 21:32:04
|
||||
***************
|
||||
*** 217,222 ****
|
||||
--- 217,223 ----
|
||||
{
|
||||
case(Z_STREAM_END):
|
||||
break;
|
||||
+ case(Z_BUF_ERROR):
|
||||
case(Z_OK):
|
||||
/* need more memory */
|
||||
if (_PyString_Resize(&result_str, r_strlen << 1) == -1)
|
|
@ -1,116 +0,0 @@
|
|||
Index: Lib/string.py
|
||||
===================================================================
|
||||
RCS file: /projects/cvsroot/python/dist/src/Lib/string.py,v
|
||||
retrieving revision 1.41
|
||||
retrieving revision 1.42
|
||||
diff -c -r1.41 -r1.42
|
||||
*** string.py 1998/03/30 17:22:30 1.41
|
||||
--- string.py 1998/04/20 14:01:00 1.42
|
||||
***************
|
||||
*** 326,348 ****
|
||||
return r
|
||||
|
||||
# "Safe" environment for eval()
|
||||
! safe_env = {"__builtins__": {}}
|
||||
|
||||
# Convert string to float
|
||||
! re = None
|
||||
def atof(str):
|
||||
"""atof(s) -> float
|
||||
|
||||
Return the floating point number represented by the string s.
|
||||
|
||||
"""
|
||||
! global re
|
||||
! if re is None:
|
||||
# Don't fail if re doesn't exist -- just skip the syntax check
|
||||
try:
|
||||
import re
|
||||
except ImportError:
|
||||
! re = 0
|
||||
sign = ''
|
||||
s = strip(str)
|
||||
if s and s[0] in '+-':
|
||||
--- 326,350 ----
|
||||
return r
|
||||
|
||||
# "Safe" environment for eval()
|
||||
! _safe_env = {"__builtins__": {}}
|
||||
|
||||
# Convert string to float
|
||||
! _re = None
|
||||
def atof(str):
|
||||
"""atof(s) -> float
|
||||
|
||||
Return the floating point number represented by the string s.
|
||||
|
||||
"""
|
||||
! global _re
|
||||
! if _re is None:
|
||||
# Don't fail if re doesn't exist -- just skip the syntax check
|
||||
try:
|
||||
import re
|
||||
except ImportError:
|
||||
! _re = 0
|
||||
! else:
|
||||
! _re = re
|
||||
sign = ''
|
||||
s = strip(str)
|
||||
if s and s[0] in '+-':
|
||||
***************
|
||||
*** 351,360 ****
|
||||
if not s:
|
||||
raise ValueError, 'non-float argument to string.atof'
|
||||
while s[0] == '0' and len(s) > 1 and s[1] in digits: s = s[1:]
|
||||
! if re and not re.match('[0-9]*(\.[0-9]*)?([eE][-+]?[0-9]+)?$', s):
|
||||
raise ValueError, 'non-float argument to string.atof'
|
||||
try:
|
||||
! return float(eval(sign + s, safe_env))
|
||||
except SyntaxError:
|
||||
raise ValueError, 'non-float argument to string.atof'
|
||||
|
||||
--- 353,362 ----
|
||||
if not s:
|
||||
raise ValueError, 'non-float argument to string.atof'
|
||||
while s[0] == '0' and len(s) > 1 and s[1] in digits: s = s[1:]
|
||||
! if _re and not _re.match('[0-9]*(\.[0-9]*)?([eE][-+]?[0-9]+)?$', s):
|
||||
raise ValueError, 'non-float argument to string.atof'
|
||||
try:
|
||||
! return float(eval(sign + s, _safe_env))
|
||||
except SyntaxError:
|
||||
raise ValueError, 'non-float argument to string.atof'
|
||||
|
||||
***************
|
||||
*** 384,390 ****
|
||||
for c in s:
|
||||
if c not in digits:
|
||||
raise ValueError, 'non-integer argument to string.atoi'
|
||||
! return eval(sign + s, safe_env)
|
||||
|
||||
# Convert string to long integer
|
||||
def atol(str, base=10):
|
||||
--- 386,392 ----
|
||||
for c in s:
|
||||
if c not in digits:
|
||||
raise ValueError, 'non-integer argument to string.atoi'
|
||||
! return eval(sign + s, _safe_env)
|
||||
|
||||
# Convert string to long integer
|
||||
def atol(str, base=10):
|
||||
***************
|
||||
*** 413,419 ****
|
||||
for c in s:
|
||||
if c not in digits:
|
||||
raise ValueError, 'non-integer argument to string.atol'
|
||||
! return eval(sign + s + 'L', safe_env)
|
||||
|
||||
# Left-justify a string
|
||||
def ljust(s, width):
|
||||
--- 415,421 ----
|
||||
for c in s:
|
||||
if c not in digits:
|
||||
raise ValueError, 'non-integer argument to string.atol'
|
||||
! return eval(sign + s + 'L', _safe_env)
|
||||
|
||||
# Left-justify a string
|
||||
def ljust(s, width):
|
|
@ -1,25 +0,0 @@
|
|||
Index: Python/bltinmodule.c
|
||||
===================================================================
|
||||
RCS file: /projects/cvsroot/python/dist/src/Python/bltinmodule.c,v
|
||||
retrieving revision 2.115
|
||||
retrieving revision 2.116
|
||||
diff -c -r2.115 -r2.116
|
||||
*** bltinmodule.c 1998/04/10 22:25:25 2.115
|
||||
--- bltinmodule.c 1998/04/23 21:46:19 2.116
|
||||
***************
|
||||
*** 1282,1288 ****
|
||||
Py_DECREF(v);
|
||||
return NULL;
|
||||
}
|
||||
! PyList_SetItem(v, i, w);
|
||||
ilow += istep;
|
||||
}
|
||||
return v;
|
||||
--- 1282,1288 ----
|
||||
Py_DECREF(v);
|
||||
return NULL;
|
||||
}
|
||||
! PyList_GET_ITEM(v, i) = w;
|
||||
ilow += istep;
|
||||
}
|
||||
return v;
|
|
@ -1,33 +0,0 @@
|
|||
Index: Modules/timemodule.c
|
||||
===================================================================
|
||||
RCS file: /projects/cvsroot/python/dist/src/Modules/timemodule.c,v
|
||||
retrieving revision 2.58
|
||||
diff -c -r2.58 timemodule.c
|
||||
*** timemodule.c 1998/03/06 17:16:21 2.58
|
||||
--- timemodule.c 1998/04/27 18:47:53
|
||||
***************
|
||||
*** 304,309 ****
|
||||
--- 304,311 ----
|
||||
char *outbuf = 0;
|
||||
int i;
|
||||
|
||||
+ memset((ANY *) &buf, '\0', sizeof(buf));
|
||||
+
|
||||
if (!PyArg_ParseTuple(args, "s(iiiiiiiii)",
|
||||
&fmt,
|
||||
&(buf.tm_year),
|
||||
***************
|
||||
*** 321,332 ****
|
||||
buf.tm_mon--;
|
||||
buf.tm_wday = (buf.tm_wday + 1) % 7;
|
||||
buf.tm_yday--;
|
||||
- #ifdef HAVE_MKTIME
|
||||
- /* This call is only there to adjust the numbers to be within
|
||||
- bounds. When we don't have mktime(), we say the caller is
|
||||
- responsible for that... */
|
||||
- (void) mktime(&buf);
|
||||
- #endif
|
||||
/* I hate these functions that presume you know how big the output
|
||||
* will be ahead of time...
|
||||
*/
|
||||
--- 323,328 ----
|
|
@ -1,15 +0,0 @@
|
|||
--- Objects/fileobject.c.orig Sat Apr 11 00:16:34 1998
|
||||
+++ Objects/fileobject.c Wed May 6 23:09:41 1998
|
||||
@@ -415,7 +415,11 @@
|
||||
struct stat st;
|
||||
if (fstat(fileno(f->f_fp), &st) == 0) {
|
||||
end = st.st_size;
|
||||
- pos = ftell(f->f_fp);
|
||||
+ pos = lseek(fileno(f->f_fp), 0L, SEEK_CUR);
|
||||
+ if (pos >= 0)
|
||||
+ pos = ftell(f->f_fp);
|
||||
+ if (pos < 0)
|
||||
+ clearerr(f->f_fp);
|
||||
if (end > pos && pos >= 0)
|
||||
return end - pos + 1;
|
||||
/* Add 1 so if the file were to grow we'd notice. */
|
|
@ -1,21 +0,0 @@
|
|||
--- Lib/urllib.py.orig Sat Apr 11 03:18:35 1998
|
||||
+++ Lib/urllib.py Wed May 6 23:26:57 1998
|
||||
@@ -221,6 +221,7 @@
|
||||
else:
|
||||
host, selector = url
|
||||
urltype, rest = splittype(selector)
|
||||
+ url = rest
|
||||
user_passwd = None
|
||||
if string.lower(urltype) != 'http':
|
||||
realhost = None
|
||||
@@ -455,8 +456,8 @@
|
||||
user, passwd = self.get_user_passwd(host, realm, i)
|
||||
if not (user or passwd): return None
|
||||
host = user + ':' + passwd + '@' + host
|
||||
- newurl = '//' + host + selector
|
||||
- return self.open_http(newurl)
|
||||
+ newurl = 'http://' + host + selector
|
||||
+ return self.open(newurl)
|
||||
|
||||
def get_user_passwd(self, host, realm, clear_cache = 0):
|
||||
key = realm + '@' + string.lower(host)
|
|
@ -1,257 +0,0 @@
|
|||
Index: Modules/pcre-int.h
|
||||
===================================================================
|
||||
RCS file: /projects/cvsroot/python/dist/src/Modules/pcre-int.h,v
|
||||
retrieving revision 2.3
|
||||
diff -c -r2.3 pcre-int.h
|
||||
*** pcre-int.h 1998/04/03 21:13:23 2.3
|
||||
--- pcre-int.h 1998/05/01 14:52:20
|
||||
***************
|
||||
*** 3,9 ****
|
||||
*************************************************/
|
||||
|
||||
|
||||
! #define PCRE_VERSION "1.07 16-Feb-1998"
|
||||
|
||||
|
||||
/* This is a library of functions to support regular expressions whose syntax
|
||||
--- 3,9 ----
|
||||
*************************************************/
|
||||
|
||||
|
||||
! #define PCRE_VERSION "1.09 28-Apr-1998"
|
||||
|
||||
|
||||
/* This is a library of functions to support regular expressions whose syntax
|
||||
***************
|
||||
*** 80,90 ****
|
||||
#ifdef FOR_PYTHON
|
||||
#define PUBLIC_OPTIONS \
|
||||
(PCRE_CASELESS|PCRE_EXTENDED|PCRE_ANCHORED|PCRE_MULTILINE| \
|
||||
! PCRE_DOTALL|PCRE_DOLLAR_ENDONLY|PCRE_EXTRA|PCRE_LOCALE)
|
||||
#else
|
||||
#define PUBLIC_OPTIONS \
|
||||
(PCRE_CASELESS|PCRE_EXTENDED|PCRE_ANCHORED|PCRE_MULTILINE| \
|
||||
! PCRE_DOTALL|PCRE_DOLLAR_ENDONLY|PCRE_EXTRA)
|
||||
#endif
|
||||
#define PUBLIC_EXEC_OPTIONS \
|
||||
(PCRE_CASELESS|PCRE_ANCHORED|PCRE_MULTILINE|PCRE_NOTBOL|PCRE_NOTEOL| \
|
||||
--- 80,91 ----
|
||||
#ifdef FOR_PYTHON
|
||||
#define PUBLIC_OPTIONS \
|
||||
(PCRE_CASELESS|PCRE_EXTENDED|PCRE_ANCHORED|PCRE_MULTILINE| \
|
||||
! PCRE_DOTALL|PCRE_DOLLAR_ENDONLY|PCRE_EXTRA|PCRE_UNGREEDY| \
|
||||
! PCRE_LOCALE)
|
||||
#else
|
||||
#define PUBLIC_OPTIONS \
|
||||
(PCRE_CASELESS|PCRE_EXTENDED|PCRE_ANCHORED|PCRE_MULTILINE| \
|
||||
! PCRE_DOTALL|PCRE_DOLLAR_ENDONLY|PCRE_EXTRA|PCRE_UNGREEDY)
|
||||
#endif
|
||||
#define PUBLIC_EXEC_OPTIONS \
|
||||
(PCRE_CASELESS|PCRE_ANCHORED|PCRE_MULTILINE|PCRE_NOTBOL|PCRE_NOTEOL| \
|
||||
Index: Modules/pcre.h
|
||||
===================================================================
|
||||
RCS file: /projects/cvsroot/python/dist/src/Modules/pcre.h,v
|
||||
retrieving revision 2.6
|
||||
diff -c -r2.6 pcre.h
|
||||
*** pcre.h 1998/04/03 21:13:25 2.6
|
||||
--- pcre.h 1998/05/01 14:52:20
|
||||
***************
|
||||
*** 34,39 ****
|
||||
--- 34,40 ----
|
||||
#define PCRE_EXTRA 0x0040
|
||||
#define PCRE_NOTBOL 0x0080
|
||||
#define PCRE_NOTEOL 0x0100
|
||||
+ #define PCRE_UNGREEDY 0x0400
|
||||
#ifdef FOR_PYTHON
|
||||
#define PCRE_LOCALE 0x0200
|
||||
#endif
|
||||
Index: Modules/pypcre.c
|
||||
===================================================================
|
||||
RCS file: /projects/cvsroot/python/dist/src/Modules/pypcre.c,v
|
||||
retrieving revision 2.12
|
||||
diff -c -r2.12 pypcre.c
|
||||
*** pypcre.c 1998/04/10 21:50:23 2.12
|
||||
--- pypcre.c 1998/05/01 14:52:21
|
||||
***************
|
||||
*** 1216,1221 ****
|
||||
--- 1216,1222 ----
|
||||
int repeat_type, op_type;
|
||||
int repeat_min, repeat_max;
|
||||
int bravalue, length;
|
||||
+ int greedy_default, greedy_non_default;
|
||||
register int c;
|
||||
register uschar *code = *codeptr;
|
||||
const uschar *ptr = *ptrptr;
|
||||
***************
|
||||
*** 1224,1229 ****
|
||||
--- 1225,1235 ----
|
||||
uschar class[32];
|
||||
uschar *class_flag; /* Pointer to the single-byte flag for OP_CLASS_L */
|
||||
|
||||
+ /* Set up the default and non-default settings for greediness */
|
||||
+
|
||||
+ greedy_default = ((options & PCRE_UNGREEDY) != 0);
|
||||
+ greedy_non_default = greedy_default ^ 1;
|
||||
+
|
||||
/* Switch on next character until the end of the branch */
|
||||
|
||||
for (;; ptr++)
|
||||
***************
|
||||
*** 1536,1545 ****
|
||||
goto FAILED;
|
||||
}
|
||||
|
||||
! /* If the next character is '?' this is a minimizing repeat. Advance to the
|
||||
next character. */
|
||||
|
||||
! if (ptr[1] == '?') { repeat_type = 1; ptr++; } else repeat_type = 0;
|
||||
|
||||
/* If the maximum is zero then the minimum must also be zero; Perl allows
|
||||
this case, so we do too - by simply omitting the item altogether. */
|
||||
--- 1542,1554 ----
|
||||
goto FAILED;
|
||||
}
|
||||
|
||||
! /* If the next character is '?' this is a minimizing repeat, by default,
|
||||
! but if PCRE_UNGREEDY is set, it works the other way round. Advance to the
|
||||
next character. */
|
||||
|
||||
! if (ptr[1] == '?')
|
||||
! { repeat_type = greedy_non_default; ptr++; }
|
||||
! else repeat_type = greedy_default;
|
||||
|
||||
/* If the maximum is zero then the minimum must also be zero; Perl allows
|
||||
this case, so we do too - by simply omitting the item altogether. */
|
||||
***************
|
||||
*** 1628,1641 ****
|
||||
/* If the mininum is 1 and the previous item was a character string,
|
||||
we either have to put back the item that got cancelled if the string
|
||||
length was 1, or add the character back onto the end of a longer
|
||||
! string. For a character type nothing need be done; it will just get put
|
||||
! back naturally. */
|
||||
|
||||
else if (*previous == OP_CHARS)
|
||||
{
|
||||
if (code == previous) code += 2; else previous[1]++;
|
||||
}
|
||||
|
||||
/* If the maximum is unlimited, insert an OP_STAR. */
|
||||
|
||||
if (repeat_max < 0)
|
||||
--- 1637,1656 ----
|
||||
/* If the mininum is 1 and the previous item was a character string,
|
||||
we either have to put back the item that got cancelled if the string
|
||||
length was 1, or add the character back onto the end of a longer
|
||||
! string. For a character type nothing need be done; it will just get
|
||||
! put back naturally. Note that the final character is always going to
|
||||
! get added below. */
|
||||
|
||||
else if (*previous == OP_CHARS)
|
||||
{
|
||||
if (code == previous) code += 2; else previous[1]++;
|
||||
}
|
||||
|
||||
+ /* For a single negated character we also have to put back the
|
||||
+ item that got cancelled. */
|
||||
+
|
||||
+ else if (*previous == OP_NOT) code++;
|
||||
+
|
||||
/* If the maximum is unlimited, insert an OP_STAR. */
|
||||
|
||||
if (repeat_max < 0)
|
||||
***************
|
||||
*** 1779,1784 ****
|
||||
--- 1794,1801 ----
|
||||
case 'm':
|
||||
case 's':
|
||||
case 'x':
|
||||
+ case 'U':
|
||||
+ case 'X':
|
||||
ptr++;
|
||||
while (*ptr != ')') ptr++;
|
||||
previous = NULL;
|
||||
***************
|
||||
*** 2484,2490 ****
|
||||
ptr += 2;
|
||||
break;
|
||||
}
|
||||
! /* Else fall thourh */
|
||||
|
||||
/* Else loop setting valid options until ) is met. Anything else is an
|
||||
error. */
|
||||
--- 2501,2507 ----
|
||||
ptr += 2;
|
||||
break;
|
||||
}
|
||||
! /* Else fall through */
|
||||
|
||||
/* Else loop setting valid options until ) is met. Anything else is an
|
||||
error. */
|
||||
***************
|
||||
*** 2519,2524 ****
|
||||
--- 2536,2551 ----
|
||||
length -= spaces; /* Already counted spaces */
|
||||
continue;
|
||||
}
|
||||
+ else if (c == 'X')
|
||||
+ {
|
||||
+ options |= PCRE_EXTRA;
|
||||
+ continue;
|
||||
+ }
|
||||
+ else if (c == 'U')
|
||||
+ {
|
||||
+ options |= PCRE_UNGREEDY;
|
||||
+ continue;
|
||||
+ }
|
||||
else if (c == ')') break;
|
||||
|
||||
*errorptr = ERR12;
|
||||
***************
|
||||
*** 2725,2738 ****
|
||||
|
||||
if (re->options != 0)
|
||||
{
|
||||
! printf("%s%s%s%s%s%s%s\n",
|
||||
((re->options & PCRE_ANCHORED) != 0)? "anchored " : "",
|
||||
((re->options & PCRE_CASELESS) != 0)? "caseless " : "",
|
||||
((re->options & PCRE_EXTENDED) != 0)? "extended " : "",
|
||||
((re->options & PCRE_MULTILINE) != 0)? "multiline " : "",
|
||||
((re->options & PCRE_DOTALL) != 0)? "dotall " : "",
|
||||
((re->options & PCRE_DOLLAR_ENDONLY) != 0)? "endonly " : "",
|
||||
! ((re->options & PCRE_EXTRA) != 0)? "extra " : "");
|
||||
}
|
||||
|
||||
if ((re->options & PCRE_FIRSTSET) != 0)
|
||||
--- 2752,2766 ----
|
||||
|
||||
if (re->options != 0)
|
||||
{
|
||||
! printf("%s%s%s%s%s%s%s%s\n",
|
||||
((re->options & PCRE_ANCHORED) != 0)? "anchored " : "",
|
||||
((re->options & PCRE_CASELESS) != 0)? "caseless " : "",
|
||||
((re->options & PCRE_EXTENDED) != 0)? "extended " : "",
|
||||
((re->options & PCRE_MULTILINE) != 0)? "multiline " : "",
|
||||
((re->options & PCRE_DOTALL) != 0)? "dotall " : "",
|
||||
((re->options & PCRE_DOLLAR_ENDONLY) != 0)? "endonly " : "",
|
||||
! ((re->options & PCRE_EXTRA) != 0)? "extra " : "",
|
||||
! ((re->options & PCRE_UNGREEDY) != 0)? "ungreedy " : "");
|
||||
}
|
||||
|
||||
if ((re->options & PCRE_FIRSTSET) != 0)
|
||||
***************
|
||||
*** 3070,3076 ****
|
||||
if (md->offset_top == NULL || md->eptr == NULL || md->ecode == NULL ||
|
||||
md->off_num == NULL || md->r1 == NULL || md->r2 == NULL)
|
||||
{
|
||||
! PyErr_SetString(PyExc_MemoryError, "Can't increase failure stack for re operation");
|
||||
longjmp(md->error_env, 1);
|
||||
}
|
||||
return 0;
|
||||
--- 3098,3104 ----
|
||||
if (md->offset_top == NULL || md->eptr == NULL || md->ecode == NULL ||
|
||||
md->off_num == NULL || md->r1 == NULL || md->r2 == NULL)
|
||||
{
|
||||
! PyErr_NoMemory();
|
||||
longjmp(md->error_env, 1);
|
||||
}
|
||||
return 0;
|
|
@ -1,137 +0,0 @@
|
|||
Index: config.h.in
|
||||
===================================================================
|
||||
RCS file: /projects/cvsroot/python/dist/src/config.h.in,v
|
||||
retrieving revision 2.34
|
||||
diff -c -r2.34 config.h.in
|
||||
*** config.h.in 1998/04/10 19:17:15 2.34
|
||||
--- config.h.in 1998/05/01 16:47:39
|
||||
***************
|
||||
*** 396,398 ****
|
||||
--- 396,401 ----
|
||||
|
||||
/* Define if you have the ieee library (-lieee). */
|
||||
#undef HAVE_LIBIEEE
|
||||
+
|
||||
+ /* Define if you have the m library (-lm). */
|
||||
+ #undef HAVE_LIBM
|
||||
Index: configure
|
||||
===================================================================
|
||||
RCS file: /projects/cvsroot/python/dist/src/configure,v
|
||||
retrieving revision 1.77
|
||||
diff -c -r1.77 configure
|
||||
*** configure 1998/04/20 18:51:49 1.77
|
||||
--- configure 1998/05/01 16:54:17
|
||||
***************
|
||||
*** 1989,2012 ****
|
||||
echo "$ac_t""no" 1>&6
|
||||
fi
|
||||
# Dynamic linking for HP-UX
|
||||
! echo $ac_n "checking for getpwnam in -lsun""... $ac_c" 1>&6
|
||||
! echo "configure:1994: checking for getpwnam in -lsun" >&5
|
||||
! ac_lib_var=`echo sun'_'getpwnam | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
ac_save_LIBS="$LIBS"
|
||||
! LIBS="-lsun $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2002 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
builtin and then its argument prototype would still apply. */
|
||||
! char getpwnam();
|
||||
|
||||
int main() {
|
||||
! getpwnam()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2013: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
--- 1989,2012 ----
|
||||
echo "$ac_t""no" 1>&6
|
||||
fi
|
||||
# Dynamic linking for HP-UX
|
||||
! echo $ac_n "checking for pow in -lm""... $ac_c" 1>&6
|
||||
! echo "configure:1994: checking for pow in -lm" >&5
|
||||
! ac_lib_var=`echo m'_'pow | sed 'y%./+-%__p_%'`
|
||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
ac_save_LIBS="$LIBS"
|
||||
! LIBS="-lm $LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 2002 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
builtin and then its argument prototype would still apply. */
|
||||
! char pow();
|
||||
|
||||
int main() {
|
||||
! pow()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:2013: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
|
||||
***************
|
||||
*** 2024,2041 ****
|
||||
fi
|
||||
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
|
||||
echo "$ac_t""yes" 1>&6
|
||||
! ac_tr_lib=HAVE_LIB`echo sun | sed -e 's/[^a-zA-Z0-9_]/_/g' \
|
||||
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
|
||||
cat >> confdefs.h <<EOF
|
||||
#define $ac_tr_lib 1
|
||||
EOF
|
||||
|
||||
! LIBS="-lsun $LIBS"
|
||||
|
||||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
fi
|
||||
! # NIS (== YP) interface for IRIX 4
|
||||
# Most SVR4 platforms (e.g. Solaris) need -lsocket and -lnsl.
|
||||
# However on SGI IRIX, these exist but are broken.
|
||||
if test "$ac_sys_system" != IRIX
|
||||
--- 2024,2041 ----
|
||||
fi
|
||||
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
|
||||
echo "$ac_t""yes" 1>&6
|
||||
! ac_tr_lib=HAVE_LIB`echo m | sed -e 's/[^a-zA-Z0-9_]/_/g' \
|
||||
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
|
||||
cat >> confdefs.h <<EOF
|
||||
#define $ac_tr_lib 1
|
||||
EOF
|
||||
|
||||
! LIBS="-lm $LIBS"
|
||||
|
||||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
fi
|
||||
! # Std math lib -- assume needed if it exists
|
||||
# Most SVR4 platforms (e.g. Solaris) need -lsocket and -lnsl.
|
||||
# However on SGI IRIX, these exist but are broken.
|
||||
if test "$ac_sys_system" != IRIX
|
||||
Index: configure.in
|
||||
===================================================================
|
||||
RCS file: /projects/cvsroot/python/dist/src/configure.in,v
|
||||
retrieving revision 1.84
|
||||
diff -c -r1.84 configure.in
|
||||
*** configure.in 1998/04/20 18:51:54 1.84
|
||||
--- configure.in 1998/05/01 16:54:12
|
||||
***************
|
||||
*** 345,351 ****
|
||||
# checks for libraries
|
||||
AC_CHECK_LIB(dl, dlopen) # Dynamic linking for SunOS/Solaris and SYSV
|
||||
AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-UX
|
||||
! AC_CHECK_LIB(sun, getpwnam) # NIS (== YP) interface for IRIX 4
|
||||
# Most SVR4 platforms (e.g. Solaris) need -lsocket and -lnsl.
|
||||
# However on SGI IRIX, these exist but are broken.
|
||||
if test "$ac_sys_system" != IRIX
|
||||
--- 345,351 ----
|
||||
# checks for libraries
|
||||
AC_CHECK_LIB(dl, dlopen) # Dynamic linking for SunOS/Solaris and SYSV
|
||||
AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-UX
|
||||
! AC_CHECK_LIB(m, pow) # Std math lib -- assume needed if it exists
|
||||
# Most SVR4 platforms (e.g. Solaris) need -lsocket and -lnsl.
|
||||
# However on SGI IRIX, these exist but are broken.
|
||||
if test "$ac_sys_system" != IRIX
|
|
@ -1,19 +0,0 @@
|
|||
--- Lib/sgmllib.py.orig Thu Mar 26 22:12:54 1998
|
||||
+++ Lib/sgmllib.py Wed May 6 23:10:29 1998
|
||||
@@ -30,12 +30,12 @@
|
||||
endbracket = re.compile('[<>]')
|
||||
special = re.compile('<![^<>]*>')
|
||||
commentopen = re.compile('<!--')
|
||||
-commentclose = re.compile('--[ \t\n]*>')
|
||||
+commentclose = re.compile('--[%s]*>' % string.whitespace)
|
||||
tagfind = re.compile('[a-zA-Z][a-zA-Z0-9]*')
|
||||
attrfind = re.compile(
|
||||
- '[ \t\n]+([a-zA-Z_][-.a-zA-Z_0-9]*)'
|
||||
- '([ \t\n]*=[ \t\n]*'
|
||||
- r'(\'[^\']*\'|"[^"]*"|[-a-zA-Z0-9./:+*%?!\(\)_#=~]*))?')
|
||||
+ '[ \t\n\r]+([a-zA-Z_][-.a-zA-Z_0-9]*)'
|
||||
+ + ('([%s]*=[%s]*' % (string.whitespace, string.whitespace))
|
||||
+ + r'(\'[^\']*\'|"[^"]*"|[-a-zA-Z0-9./:+*%?!\(\)_#=~]*))?')
|
||||
|
||||
|
||||
# SGML parser base class -- find tags and call handler functions.
|
|
@ -1,12 +0,0 @@
|
|||
--- Lib/imaplib.py.orig Sat Apr 11 05:11:51 1998
|
||||
+++ Lib/imaplib.py Wed May 6 23:27:32 1998
|
||||
@@ -275,9 +275,6 @@
|
||||
|
||||
(typ, [data]) = <instance>.list(user, password)
|
||||
"""
|
||||
- if not 'AUTH=LOGIN' in self.capabilities \
|
||||
- and not 'AUTH-LOGIN' in self.capabilities:
|
||||
- raise self.error("server doesn't allow LOGIN authorisation")
|
||||
typ, dat = self._simple_command('LOGIN', user, password)
|
||||
if typ != 'OK':
|
||||
raise self.error(dat)
|
30
lang/python/patches/patch-ba
Normal file
30
lang/python/patches/patch-ba
Normal file
|
@ -0,0 +1,30 @@
|
|||
$NetBSD: patch-ba,v 1.1 1998/07/11 20:33:15 tsarna Exp $
|
||||
|
||||
Use -fPIC so things don't break if they get too big (like py-Numeric on
|
||||
sparc). This setting is inherited by most py-* packages via the Python
|
||||
module-building system.
|
||||
|
||||
Sent to GvR <guido@cnri.reston.va.us>
|
||||
|
||||
--- configure.orig Fri Jul 10 19:40:07 1998
|
||||
+++ configure Fri Jul 10 19:45:52 1998
|
||||
@@ -1861,7 +1861,7 @@
|
||||
else CCSHARED="+z";
|
||||
fi;;
|
||||
Linux*) CCSHARED="-fpic";;
|
||||
- FreeBSD*|NetBSD*|OpenBSD*) CCSHARED="-fpic";;
|
||||
+ FreeBSD*|NetBSD*|OpenBSD*) CCSHARED="-fPIC";;
|
||||
SCO_SV*) CCSHARED="-KPIC -dy -Bdynamic";;
|
||||
IRIX*/6*) case $CC in
|
||||
*gcc*) CCSHARED="-shared";;
|
||||
--- configure.in.orig Fri Jul 10 22:58:44 1998
|
||||
+++ configure.in Fri Jul 10 22:59:04 1998
|
||||
@@ -310,7 +310,7 @@
|
||||
else CCSHARED="+z";
|
||||
fi;;
|
||||
Linux*) CCSHARED="-fpic";;
|
||||
- FreeBSD*|NetBSD*|OpenBSD*) CCSHARED="-fpic";;
|
||||
+ FreeBSD*|NetBSD*|OpenBSD*) CCSHARED="-fPIC";;
|
||||
SCO_SV*) CCSHARED="-KPIC -dy -Bdynamic";;
|
||||
IRIX*/6*) case $CC in
|
||||
*gcc*) CCSHARED="-shared";;
|
Loading…
Reference in a new issue