forked from python/python-docs-tr
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathconfigure.html
More file actions
1488 lines (1354 loc) · 113 KB
/
Copy pathconfigure.html
File metadata and controls
1488 lines (1354 loc) · 113 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<meta property="og:title" content="3. Configure Python" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://docs.python.org/3/using/configure.html" />
<meta property="og:site_name" content="Python documentation" />
<meta property="og:description" content="Configure Options: List all./configure script options using: See also the Misc/SpecialBuilds.txt in the Python source distribution. General Options: WebAssembly Options: Install Options: Performanc..." />
<meta property="og:image" content="https://docs.python.org/3/_static/og-image.png" />
<meta property="og:image:alt" content="Python documentation" />
<meta name="description" content="Configure Options: List all./configure script options using: See also the Misc/SpecialBuilds.txt in the Python source distribution. General Options: WebAssembly Options: Install Options: Performanc..." />
<meta property="og:image:width" content="200" />
<meta property="og:image:height" content="200" />
<meta name="theme-color" content="#3776ab" />
<title>3. Configure Python — Python 3.11.5 belgelendirmesi</title><meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/pydoctheme.css?digest=b37c26da2f7529d09fe70b41c4b2133fe4931a90" />
<link id="pygments_dark_css" media="(prefers-color-scheme: dark)" rel="stylesheet" type="text/css" href="../_static/pygments_dark.css" />
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/translations.js"></script>
<script src="../_static/sidebar.js"></script>
<link rel="search" type="application/opensearchdescription+xml"
title="Python 3.11.5 belgelendirmesi içinde ara"
href="../_static/opensearch.xml"/>
<link rel="author" title="Bu belgeler hakkında" href="../about.html" />
<link rel="index" title="Dizin" href="../genindex.html" />
<link rel="search" title="Ara" href="../search.html" />
<link rel="copyright" title="Telif Hakkı" href="../copyright.html" />
<link rel="next" title="4. Using Python on Windows" href="windows.html" />
<link rel="prev" title="2. Using Python on Unix platforms" href="unix.html" />
<link rel="canonical" href="https://docs.python.org/3/using/configure.html" />
<style>
@media only screen {
table.full-width-table {
width: 100%;
}
}
</style>
<link rel="stylesheet" href="../_static/pydoctheme_dark.css" media="(prefers-color-scheme: dark)" id="pydoctheme_dark_css">
<link rel="shortcut icon" type="image/png" href="../_static/py.svg" />
<script type="text/javascript" src="../_static/copybutton.js"></script>
<script type="text/javascript" src="../_static/menu.js"></script>
<script type="text/javascript" src="../_static/search-focus.js"></script>
<script type="text/javascript" src="../_static/themetoggle.js"></script>
</head>
<body>
<div class="mobile-nav">
<input type="checkbox" id="menuToggler" class="toggler__input" aria-controls="navigation"
aria-pressed="false" aria-expanded="false" role="button" aria-label="Menu" />
<nav class="nav-content" role="navigation">
<label for="menuToggler" class="toggler__label">
<span></span>
</label>
<span class="nav-items-wrapper">
<a href="https://www.python.org/" class="nav-logo">
<img src="../_static/py.svg" alt="Logo"/>
</a>
<span class="version_switcher_placeholder"></span>
<form role="search" class="search" action="../search.html" method="get">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" class="search-icon">
<path fill-rule="nonzero" fill="currentColor" d="M15.5 14h-.79l-.28-.27a6.5 6.5 0 001.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 00-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 005.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg>
<input placeholder="Hızlı Arama" aria-label="Hızlı Arama" type="search" name="q" />
<input type="submit" value="Git"/>
</form>
</span>
</nav>
<div class="menu-wrapper">
<nav class="menu" role="navigation" aria-label="main navigation">
<div class="language_switcher_placeholder"></div>
<label class="theme-selector-label">
Theme
<select class="theme-selector" oninput="activateTheme(this.value)">
<option value="auto" selected>Auto</option>
<option value="light">Light</option>
<option value="dark">Dark</option>
</select>
</label>
<div>
<h3><a href="../contents.html">İçindekiler</a></h3>
<ul>
<li><a class="reference internal" href="#">3. Configure Python</a><ul>
<li><a class="reference internal" href="#configure-options">3.1. Configure Options</a><ul>
<li><a class="reference internal" href="#general-options">3.1.1. General Options</a></li>
<li><a class="reference internal" href="#webassembly-options">3.1.2. WebAssembly Options</a></li>
<li><a class="reference internal" href="#install-options">3.1.3. Install Options</a></li>
<li><a class="reference internal" href="#performance-options">3.1.4. Performance options</a></li>
<li><a class="reference internal" href="#python-debug-build">3.1.5. Python Debug Build</a></li>
<li><a class="reference internal" href="#debug-options">3.1.6. Debug options</a></li>
<li><a class="reference internal" href="#linker-options">3.1.7. Linker options</a></li>
<li><a class="reference internal" href="#libraries-options">3.1.8. Libraries options</a></li>
<li><a class="reference internal" href="#security-options">3.1.9. Security Options</a></li>
<li><a class="reference internal" href="#macos-options">3.1.10. macOS Options</a></li>
<li><a class="reference internal" href="#cross-compiling-options">3.1.11. Cross Compiling Options</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-build-system">3.2. Python Build System</a><ul>
<li><a class="reference internal" href="#main-files-of-the-build-system">3.2.1. Main files of the build system</a></li>
<li><a class="reference internal" href="#main-build-steps">3.2.2. Main build steps</a></li>
<li><a class="reference internal" href="#main-makefile-targets">3.2.3. Main Makefile targets</a></li>
<li><a class="reference internal" href="#c-extensions">3.2.4. C extensions</a></li>
</ul>
</li>
<li><a class="reference internal" href="#compiler-and-linker-flags">3.3. Compiler and linker flags</a><ul>
<li><a class="reference internal" href="#preprocessor-flags">3.3.1. Preprocessor flags</a></li>
<li><a class="reference internal" href="#compiler-flags">3.3.2. Compiler flags</a></li>
<li><a class="reference internal" href="#linker-flags">3.3.3. Linker flags</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Önceki konu</h4>
<p class="topless"><a href="unix.html"
title="önceki bölüm"><span class="section-number">2. </span>Using Python on Unix platforms</a></p>
</div>
<div>
<h4>Sonraki konu</h4>
<p class="topless"><a href="windows.html"
title="sonraki bölüm"><span class="section-number">4. </span>Using Python on Windows</a></p>
</div>
<div role="note" aria-label="source link">
<h3>Bu Sayfa</h3>
<ul class="this-page-menu">
<li><a href="../bugs.html">Hata Bildir</a></li>
<li>
<a href="https://github.com/python/cpython/blob/3.11/Doc/using/configure.rst"
rel="nofollow">Kaynağı Göster
</a>
</li>
</ul>
</div>
</nav>
</div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Gezinti</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="Genel Endeks"
accesskey="I">dizin</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Modül Dizini"
>modülleri</a> |</li>
<li class="right" >
<a href="windows.html" title="4. Using Python on Windows"
accesskey="N">sonraki</a> |</li>
<li class="right" >
<a href="unix.html" title="2. Using Python on Unix platforms"
accesskey="P">önceki</a> |</li>
<li><img src="../_static/py.svg" alt="python logo" style="vertical-align: middle; margin-top: -1px"/></li>
<li><a href="https://www.python.org/">Python</a> »</li>
<li class="switchers">
<div class="language_switcher_placeholder"></div>
<div class="version_switcher_placeholder"></div>
</li>
<li>
</li>
<li id="cpython-language-and-version">
<a href="../index.html">3.11.5 Documentation</a> »
</li>
<li class="nav-item nav-item-1"><a href="index.html" accesskey="U">Python Setup and Usage</a> »</li>
<li class="nav-item nav-item-this"><a href=""><span class="section-number">3. </span>Configure Python</a></li>
<li class="right">
<div class="inline-search" role="search">
<form class="inline-search" action="../search.html" method="get">
<input placeholder="Hızlı Arama" aria-label="Hızlı Arama" type="search" name="q" id="search-box" />
<input type="submit" value="Git" />
</form>
</div>
|
</li>
<li class="right">
<label class="theme-selector-label">
Theme
<select class="theme-selector" oninput="activateTheme(this.value)">
<option value="auto" selected>Auto</option>
<option value="light">Light</option>
<option value="dark">Dark</option>
</select>
</label> |</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="configure-python">
<h1><span class="section-number">3. </span>Configure Python<a class="headerlink" href="#configure-python" title="Permalink to this heading">¶</a></h1>
<section id="configure-options">
<span id="id1"></span><h2><span class="section-number">3.1. </span>Configure Options<a class="headerlink" href="#configure-options" title="Permalink to this heading">¶</a></h2>
<p>List all <code class="docutils literal notranslate"><span class="pre">./configure</span></code> script options using:</p>
<div class="highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="o">./</span><span class="n">configure</span> <span class="o">--</span><span class="n">help</span>
</pre></div>
</div>
<p>See also the <code class="file docutils literal notranslate"><span class="pre">Misc/SpecialBuilds.txt</span></code> in the Python source distribution.</p>
<section id="general-options">
<h3><span class="section-number">3.1.1. </span>General Options<a class="headerlink" href="#general-options" title="Permalink to this heading">¶</a></h3>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-enable-loadable-sqlite-extensions">
<span class="sig-name descname"><span class="pre">--enable-loadable-sqlite-extensions</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-enable-loadable-sqlite-extensions" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Support loadable extensions in the <code class="xref py py-mod docutils literal notranslate"><span class="pre">_sqlite</span></code> extension module (default
is no).</p>
<p>See the <a class="reference internal" href="../library/sqlite3.html#sqlite3.Connection.enable_load_extension" title="sqlite3.Connection.enable_load_extension"><code class="xref py py-meth docutils literal notranslate"><span class="pre">sqlite3.Connection.enable_load_extension()</span></code></a> method of the
<a class="reference internal" href="../library/sqlite3.html#module-sqlite3" title="sqlite3: A DB-API 2.0 implementation using SQLite 3.x."><code class="xref py py-mod docutils literal notranslate"><span class="pre">sqlite3</span></code></a> module.</p>
<div class="versionadded">
<p><span class="versionmodified added">3.6 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-disable-ipv6">
<span class="sig-name descname"><span class="pre">--disable-ipv6</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-disable-ipv6" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Disable IPv6 support (enabled by default if supported), see the
<a class="reference internal" href="../library/socket.html#module-socket" title="socket: Low-level networking interface."><code class="xref py py-mod docutils literal notranslate"><span class="pre">socket</span></code></a> module.</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-enable-big-digits">
<span class="sig-name descname"><span class="pre">--enable-big-digits</span></span><span class="sig-prename descclassname"><span class="pre">=[15|30]</span></span><a class="headerlink" href="#cmdoption-enable-big-digits" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Define the size in bits of Python <a class="reference internal" href="../library/functions.html#int" title="int"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> digits: 15 or 30 bits.</p>
<p>By default, the digit size is 30.</p>
<p>Define the <code class="docutils literal notranslate"><span class="pre">PYLONG_BITS_IN_DIGIT</span></code> to <code class="docutils literal notranslate"><span class="pre">15</span></code> or <code class="docutils literal notranslate"><span class="pre">30</span></code>.</p>
<p>See <a class="reference internal" href="../library/sys.html#sys.int_info" title="sys.int_info"><code class="xref py py-data docutils literal notranslate"><span class="pre">sys.int_info.bits_per_digit</span></code></a>.</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-cxx-main">
<span class="sig-name descname"><span class="pre">--with-cxx-main</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-with-cxx-main" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd></dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-0">
<span class="sig-name descname"><span class="pre">--with-cxx-main</span></span><span class="sig-prename descclassname"><span class="pre">=COMPILER</span></span><a class="headerlink" href="#cmdoption-0" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Compile the Python <code class="docutils literal notranslate"><span class="pre">main()</span></code> function and link Python executable with C++
compiler: <code class="docutils literal notranslate"><span class="pre">$CXX</span></code>, or <em>COMPILER</em> if specified.</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-suffix">
<span class="sig-name descname"><span class="pre">--with-suffix</span></span><span class="sig-prename descclassname"><span class="pre">=SUFFIX</span></span><a class="headerlink" href="#cmdoption-with-suffix" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Set the Python executable suffix to <em>SUFFIX</em>.</p>
<p>The default suffix is <code class="docutils literal notranslate"><span class="pre">.exe</span></code> on Windows and macOS (<code class="docutils literal notranslate"><span class="pre">python.exe</span></code>
executable), <code class="docutils literal notranslate"><span class="pre">.js</span></code> on Emscripten node, <code class="docutils literal notranslate"><span class="pre">.html</span></code> on Emscripten browser,
<code class="docutils literal notranslate"><span class="pre">.wasm</span></code> on WASI, and an empty string on other platforms (<code class="docutils literal notranslate"><span class="pre">python</span></code>
executable).</p>
<div class="versionchanged">
<p><span class="versionmodified changed">3.11 sürümünde değişti: </span>The default suffix on WASM platform is one of <code class="docutils literal notranslate"><span class="pre">.js</span></code>, <code class="docutils literal notranslate"><span class="pre">.html</span></code>
or <code class="docutils literal notranslate"><span class="pre">.wasm</span></code>.</p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-tzpath">
<span class="sig-name descname"><span class="pre">--with-tzpath</span></span><span class="sig-prename descclassname"><span class="pre">=<list</span> <span class="pre">of</span> <span class="pre">absolute</span> <span class="pre">paths</span> <span class="pre">separated</span> <span class="pre">by</span> <span class="pre">pathsep></span></span><a class="headerlink" href="#cmdoption-with-tzpath" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Select the default time zone search path for <a class="reference internal" href="../library/zoneinfo.html#zoneinfo.TZPATH" title="zoneinfo.TZPATH"><code class="xref py py-const docutils literal notranslate"><span class="pre">zoneinfo.TZPATH</span></code></a>.
See the <a class="reference internal" href="../library/zoneinfo.html#zoneinfo-data-compile-time-config"><span class="std std-ref">Compile-time configuration</span></a> of the <a class="reference internal" href="../library/zoneinfo.html#module-zoneinfo" title="zoneinfo: IANA time zone support"><code class="xref py py-mod docutils literal notranslate"><span class="pre">zoneinfo</span></code></a> module.</p>
<p>Default: <code class="docutils literal notranslate"><span class="pre">/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo</span></code>.</p>
<p>See <a class="reference internal" href="../library/os.html#os.pathsep" title="os.pathsep"><code class="xref py py-data docutils literal notranslate"><span class="pre">os.pathsep</span></code></a> path separator.</p>
<div class="versionadded">
<p><span class="versionmodified added">3.9 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-without-decimal-contextvar">
<span class="sig-name descname"><span class="pre">--without-decimal-contextvar</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-without-decimal-contextvar" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Build the <code class="docutils literal notranslate"><span class="pre">_decimal</span></code> extension module using a thread-local context rather
than a coroutine-local context (default), see the <a class="reference internal" href="../library/decimal.html#module-decimal" title="decimal: Implementation of the General Decimal Arithmetic Specification."><code class="xref py py-mod docutils literal notranslate"><span class="pre">decimal</span></code></a> module.</p>
<p>See <a class="reference internal" href="../library/decimal.html#decimal.HAVE_CONTEXTVAR" title="decimal.HAVE_CONTEXTVAR"><code class="xref py py-const docutils literal notranslate"><span class="pre">decimal.HAVE_CONTEXTVAR</span></code></a> and the <a class="reference internal" href="../library/contextvars.html#module-contextvars" title="contextvars: Context Variables"><code class="xref py py-mod docutils literal notranslate"><span class="pre">contextvars</span></code></a> module.</p>
<div class="versionadded">
<p><span class="versionmodified added">3.9 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-dbmliborder">
<span class="sig-name descname"><span class="pre">--with-dbmliborder</span></span><span class="sig-prename descclassname"><span class="pre">=<list</span> <span class="pre">of</span> <span class="pre">backend</span> <span class="pre">names></span></span><a class="headerlink" href="#cmdoption-with-dbmliborder" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Override order to check db backends for the <a class="reference internal" href="../library/dbm.html#module-dbm" title="dbm: Interfaces to various Unix "database" formats."><code class="xref py py-mod docutils literal notranslate"><span class="pre">dbm</span></code></a> module</p>
<p>A valid value is a colon (<code class="docutils literal notranslate"><span class="pre">:</span></code>) separated string with the backend names:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">ndbm</span></code>;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">gdbm</span></code>;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">bdb</span></code>.</p></li>
</ul>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-without-c-locale-coercion">
<span class="sig-name descname"><span class="pre">--without-c-locale-coercion</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-without-c-locale-coercion" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Disable C locale coercion to a UTF-8 based locale (enabled by default).</p>
<p>Don’t define the <code class="docutils literal notranslate"><span class="pre">PY_COERCE_C_LOCALE</span></code> macro.</p>
<p>See <span class="target" id="index-0"></span><a class="reference internal" href="cmdline.html#envvar-PYTHONCOERCECLOCALE"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PYTHONCOERCECLOCALE</span></code></a> and the <span class="target" id="index-1"></span><a class="pep reference external" href="https://peps.python.org/pep-0538/"><strong>PEP 538</strong></a>.</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-platlibdir">
<span class="sig-name descname"><span class="pre">--with-platlibdir</span></span><span class="sig-prename descclassname"><span class="pre">=DIRNAME</span></span><a class="headerlink" href="#cmdoption-with-platlibdir" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Python library directory name (default is <code class="docutils literal notranslate"><span class="pre">lib</span></code>).</p>
<p>Fedora and SuSE use <code class="docutils literal notranslate"><span class="pre">lib64</span></code> on 64-bit platforms.</p>
<p>See <a class="reference internal" href="../library/sys.html#sys.platlibdir" title="sys.platlibdir"><code class="xref py py-data docutils literal notranslate"><span class="pre">sys.platlibdir</span></code></a>.</p>
<div class="versionadded">
<p><span class="versionmodified added">3.9 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-wheel-pkg-dir">
<span class="sig-name descname"><span class="pre">--with-wheel-pkg-dir</span></span><span class="sig-prename descclassname"><span class="pre">=PATH</span></span><a class="headerlink" href="#cmdoption-with-wheel-pkg-dir" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Directory of wheel packages used by the <a class="reference internal" href="../library/ensurepip.html#module-ensurepip" title="ensurepip: Bootstrapping the "pip" installer into an existing Python installation or virtual environment."><code class="xref py py-mod docutils literal notranslate"><span class="pre">ensurepip</span></code></a> module
(none by default).</p>
<p>Some Linux distribution packaging policies recommend against bundling
dependencies. For example, Fedora installs wheel packages in the
<code class="docutils literal notranslate"><span class="pre">/usr/share/python-wheels/</span></code> directory and don’t install the
<code class="xref py py-mod docutils literal notranslate"><span class="pre">ensurepip._bundled</span></code> package.</p>
<div class="versionadded">
<p><span class="versionmodified added">3.10 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-pkg-config">
<span class="sig-name descname"><span class="pre">--with-pkg-config</span></span><span class="sig-prename descclassname"><span class="pre">=[check|yes|no]</span></span><a class="headerlink" href="#cmdoption-with-pkg-config" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Whether configure should use <strong class="program">pkg-config</strong> to detect build
dependencies.</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">check</span></code> (default): <strong class="program">pkg-config</strong> is optional</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">yes</span></code>: <strong class="program">pkg-config</strong> is mandatory</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">no</span></code>: configure does not use <strong class="program">pkg-config</strong> even when present</p></li>
</ul>
<div class="versionadded">
<p><span class="versionmodified added">3.11 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-enable-pystats">
<span class="sig-name descname"><span class="pre">--enable-pystats</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-enable-pystats" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Turn on internal statistics gathering.</p>
<p>The statistics will be dumped to a arbitrary (probably unique) file in
<code class="docutils literal notranslate"><span class="pre">/tmp/py_stats/</span></code>, or <code class="docutils literal notranslate"><span class="pre">C:\temp\py_stats\</span></code> on Windows.</p>
<p>Use <code class="docutils literal notranslate"><span class="pre">Tools/scripts/summarize_stats.py</span></code> to read the stats.</p>
<div class="versionadded">
<p><span class="versionmodified added">3.11 sürümünde geldi.</span></p>
</div>
</dd></dl>
</section>
<section id="webassembly-options">
<h3><span class="section-number">3.1.2. </span>WebAssembly Options<a class="headerlink" href="#webassembly-options" title="Permalink to this heading">¶</a></h3>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-emscripten-target">
<span class="sig-name descname"><span class="pre">--with-emscripten-target</span></span><span class="sig-prename descclassname"><span class="pre">=[browser|node]</span></span><a class="headerlink" href="#cmdoption-with-emscripten-target" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Set build flavor for <code class="docutils literal notranslate"><span class="pre">wasm32-emscripten</span></code>.</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">browser</span></code> (default): preload minimal stdlib, default MEMFS.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">node</span></code>: NODERAWFS and pthread support.</p></li>
</ul>
<div class="versionadded">
<p><span class="versionmodified added">3.11 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-enable-wasm-dynamic-linking">
<span class="sig-name descname"><span class="pre">--enable-wasm-dynamic-linking</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-enable-wasm-dynamic-linking" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Turn on dynamic linking support for WASM.</p>
<p>Dynamic linking enables <code class="docutils literal notranslate"><span class="pre">dlopen</span></code>. File size of the executable
increases due to limited dead code elimination and additional features.</p>
<div class="versionadded">
<p><span class="versionmodified added">3.11 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-enable-wasm-pthreads">
<span class="sig-name descname"><span class="pre">--enable-wasm-pthreads</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-enable-wasm-pthreads" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Turn on pthreads support for WASM.</p>
<div class="versionadded">
<p><span class="versionmodified added">3.11 sürümünde geldi.</span></p>
</div>
</dd></dl>
</section>
<section id="install-options">
<h3><span class="section-number">3.1.3. </span>Install Options<a class="headerlink" href="#install-options" title="Permalink to this heading">¶</a></h3>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-prefix">
<span class="sig-name descname"><span class="pre">--prefix</span></span><span class="sig-prename descclassname"><span class="pre">=PREFIX</span></span><a class="headerlink" href="#cmdoption-prefix" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Install architecture-independent files in PREFIX. On Unix, it
defaults to <code class="file docutils literal notranslate"><span class="pre">/usr/local</span></code>.</p>
<p>This value can be retrieved at runtime using <a class="reference internal" href="../library/sys.html#sys.prefix" title="sys.prefix"><code class="xref py py-data docutils literal notranslate"><span class="pre">sys.prefix</span></code></a>.</p>
<p>As an example, one can use <code class="docutils literal notranslate"><span class="pre">--prefix="$HOME/.local/"</span></code> to install
a Python in its home directory.</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-exec-prefix">
<span class="sig-name descname"><span class="pre">--exec-prefix</span></span><span class="sig-prename descclassname"><span class="pre">=EPREFIX</span></span><a class="headerlink" href="#cmdoption-exec-prefix" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Install architecture-dependent files in EPREFIX, defaults to <a class="reference internal" href="#cmdoption-prefix"><code class="xref std std-option docutils literal notranslate"><span class="pre">--prefix</span></code></a>.</p>
<p>This value can be retrieved at runtime using <a class="reference internal" href="../library/sys.html#sys.exec_prefix" title="sys.exec_prefix"><code class="xref py py-data docutils literal notranslate"><span class="pre">sys.exec_prefix</span></code></a>.</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-disable-test-modules">
<span class="sig-name descname"><span class="pre">--disable-test-modules</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-disable-test-modules" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Don’t build nor install test modules, like the <a class="reference internal" href="../library/test.html#module-test" title="test: Regression tests package containing the testing suite for Python."><code class="xref py py-mod docutils literal notranslate"><span class="pre">test</span></code></a> package or the
<code class="xref py py-mod docutils literal notranslate"><span class="pre">_testcapi</span></code> extension module (built and installed by default).</p>
<div class="versionadded">
<p><span class="versionmodified added">3.10 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-ensurepip">
<span class="sig-name descname"><span class="pre">--with-ensurepip</span></span><span class="sig-prename descclassname"><span class="pre">=[upgrade|install|no]</span></span><a class="headerlink" href="#cmdoption-with-ensurepip" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Select the <a class="reference internal" href="../library/ensurepip.html#module-ensurepip" title="ensurepip: Bootstrapping the "pip" installer into an existing Python installation or virtual environment."><code class="xref py py-mod docutils literal notranslate"><span class="pre">ensurepip</span></code></a> command run on Python installation:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">upgrade</span></code> (default): run <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">-m</span> <span class="pre">ensurepip</span> <span class="pre">--altinstall</span> <span class="pre">--upgrade</span></code>
command.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">install</span></code>: run <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">-m</span> <span class="pre">ensurepip</span> <span class="pre">--altinstall</span></code> command;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">no</span></code>: don’t run ensurepip;</p></li>
</ul>
<div class="versionadded">
<p><span class="versionmodified added">3.6 sürümünde geldi.</span></p>
</div>
</dd></dl>
</section>
<section id="performance-options">
<h3><span class="section-number">3.1.4. </span>Performance options<a class="headerlink" href="#performance-options" title="Permalink to this heading">¶</a></h3>
<p>Configuring Python using <code class="docutils literal notranslate"><span class="pre">--enable-optimizations</span> <span class="pre">--with-lto</span></code> (PGO + LTO) is
recommended for best performance.</p>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-enable-optimizations">
<span class="sig-name descname"><span class="pre">--enable-optimizations</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-enable-optimizations" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Enable Profile Guided Optimization (PGO) using <span class="target" id="index-2"></span><a class="reference internal" href="#envvar-PROFILE_TASK"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PROFILE_TASK</span></code></a>
(disabled by default).</p>
<p>The C compiler Clang requires <code class="docutils literal notranslate"><span class="pre">llvm-profdata</span></code> program for PGO. On
macOS, GCC also requires it: GCC is just an alias to Clang on macOS.</p>
<p>Disable also semantic interposition in libpython if <code class="docutils literal notranslate"><span class="pre">--enable-shared</span></code> and
GCC is used: add <code class="docutils literal notranslate"><span class="pre">-fno-semantic-interposition</span></code> to the compiler and linker
flags.</p>
<div class="versionadded">
<p><span class="versionmodified added">3.6 sürümünde geldi.</span></p>
</div>
<div class="versionchanged">
<p><span class="versionmodified changed">3.10 sürümünde değişti: </span>Use <code class="docutils literal notranslate"><span class="pre">-fno-semantic-interposition</span></code> on GCC.</p>
</div>
</dd></dl>
<dl class="std envvar">
<dt class="sig sig-object std" id="envvar-PROFILE_TASK">
<span class="sig-name descname"><span class="pre">PROFILE_TASK</span></span><a class="headerlink" href="#envvar-PROFILE_TASK" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Environment variable used in the Makefile: Python command line arguments for
the PGO generation task.</p>
<p>Default: <code class="docutils literal notranslate"><span class="pre">-m</span> <span class="pre">test</span> <span class="pre">--pgo</span> <span class="pre">--timeout=$(TESTTIMEOUT)</span></code>.</p>
<div class="versionadded">
<p><span class="versionmodified added">3.8 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-lto">
<span class="sig-name descname"><span class="pre">--with-lto</span></span><span class="sig-prename descclassname"><span class="pre">=[full|thin|no|yes]</span></span><a class="headerlink" href="#cmdoption-with-lto" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Enable Link Time Optimization (LTO) in any build (disabled by default).</p>
<p>The C compiler Clang requires <code class="docutils literal notranslate"><span class="pre">llvm-ar</span></code> for LTO (<code class="docutils literal notranslate"><span class="pre">ar</span></code> on macOS), as well
as an LTO-aware linker (<code class="docutils literal notranslate"><span class="pre">ld.gold</span></code> or <code class="docutils literal notranslate"><span class="pre">lld</span></code>).</p>
<div class="versionadded">
<p><span class="versionmodified added">3.6 sürümünde geldi.</span></p>
</div>
<div class="versionadded">
<p><span class="versionmodified added">3.11 sürümünde geldi: </span>To use ThinLTO feature, use <code class="docutils literal notranslate"><span class="pre">--with-lto=thin</span></code> on Clang.</p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-computed-gotos">
<span class="sig-name descname"><span class="pre">--with-computed-gotos</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-with-computed-gotos" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Enable computed gotos in evaluation loop (enabled by default on supported
compilers).</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-without-pymalloc">
<span class="sig-name descname"><span class="pre">--without-pymalloc</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-without-pymalloc" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Disable the specialized Python memory allocator <a class="reference internal" href="../c-api/memory.html#pymalloc"><span class="std std-ref">pymalloc</span></a>
(enabled by default).</p>
<p>See also <span class="target" id="index-3"></span><a class="reference internal" href="cmdline.html#envvar-PYTHONMALLOC"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PYTHONMALLOC</span></code></a> environment variable.</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-without-doc-strings">
<span class="sig-name descname"><span class="pre">--without-doc-strings</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-without-doc-strings" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Disable static documentation strings to reduce the memory footprint (enabled
by default). Documentation strings defined in Python are not affected.</p>
<p>Don’t define the <code class="docutils literal notranslate"><span class="pre">WITH_DOC_STRINGS</span></code> macro.</p>
<p>See the <code class="docutils literal notranslate"><span class="pre">PyDoc_STRVAR()</span></code> macro.</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-enable-profiling">
<span class="sig-name descname"><span class="pre">--enable-profiling</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-enable-profiling" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Enable C-level code profiling with <code class="docutils literal notranslate"><span class="pre">gprof</span></code> (disabled by default).</p>
</dd></dl>
</section>
<section id="python-debug-build">
<span id="debug-build"></span><h3><span class="section-number">3.1.5. </span>Python Debug Build<a class="headerlink" href="#python-debug-build" title="Permalink to this heading">¶</a></h3>
<p>A debug build is Python built with the <a class="reference internal" href="#cmdoption-with-pydebug"><code class="xref std std-option docutils literal notranslate"><span class="pre">--with-pydebug</span></code></a> configure
option.</p>
<p>Effects of a debug build:</p>
<ul class="simple">
<li><p>Display all warnings by default: the list of default warning filters is empty
in the <a class="reference internal" href="../library/warnings.html#module-warnings" title="warnings: Issue warning messages and control their disposition."><code class="xref py py-mod docutils literal notranslate"><span class="pre">warnings</span></code></a> module.</p></li>
<li><p>Add <code class="docutils literal notranslate"><span class="pre">d</span></code> to <a class="reference internal" href="../library/sys.html#sys.abiflags" title="sys.abiflags"><code class="xref py py-data docutils literal notranslate"><span class="pre">sys.abiflags</span></code></a>.</p></li>
<li><p>Add <code class="xref py py-func docutils literal notranslate"><span class="pre">sys.gettotalrefcount()</span></code> function.</p></li>
<li><p>Add <a class="reference internal" href="cmdline.html#cmdoption-X"><code class="xref std std-option docutils literal notranslate"><span class="pre">-X</span> <span class="pre">showrefcount</span></code></a> command line option.</p></li>
<li><p>Add <span class="target" id="index-4"></span><a class="reference internal" href="cmdline.html#envvar-PYTHONTHREADDEBUG"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PYTHONTHREADDEBUG</span></code></a> environment variable.</p></li>
<li><p>Add support for the <code class="docutils literal notranslate"><span class="pre">__lltrace__</span></code> variable: enable low-level tracing in the
bytecode evaluation loop if the variable is defined.</p></li>
<li><p>Install <a class="reference internal" href="../c-api/memory.html#default-memory-allocators"><span class="std std-ref">debug hooks on memory allocators</span></a>
to detect buffer overflow and other memory errors.</p></li>
<li><p>Define <code class="docutils literal notranslate"><span class="pre">Py_DEBUG</span></code> and <code class="docutils literal notranslate"><span class="pre">Py_REF_DEBUG</span></code> macros.</p></li>
<li><p>Add runtime checks: code surrounded by <code class="docutils literal notranslate"><span class="pre">#ifdef</span> <span class="pre">Py_DEBUG</span></code> and <code class="docutils literal notranslate"><span class="pre">#endif</span></code>.
Enable <code class="docutils literal notranslate"><span class="pre">assert(...)</span></code> and <code class="docutils literal notranslate"><span class="pre">_PyObject_ASSERT(...)</span></code> assertions: don’t set
the <code class="docutils literal notranslate"><span class="pre">NDEBUG</span></code> macro (see also the <a class="reference internal" href="#cmdoption-with-assertions"><code class="xref std std-option docutils literal notranslate"><span class="pre">--with-assertions</span></code></a> configure
option). Main runtime checks:</p>
<ul>
<li><p>Add sanity checks on the function arguments.</p></li>
<li><p>Unicode and int objects are created with their memory filled with a pattern
to detect usage of uninitialized objects.</p></li>
<li><p>Ensure that functions which can clear or replace the current exception are
not called with an exception raised.</p></li>
<li><p>Check that deallocator functions don’t change the current exception.</p></li>
<li><p>The garbage collector (<a class="reference internal" href="../library/gc.html#gc.collect" title="gc.collect"><code class="xref py py-func docutils literal notranslate"><span class="pre">gc.collect()</span></code></a> function) runs some basic checks
on objects consistency.</p></li>
<li><p>The <code class="xref c c-macro docutils literal notranslate"><span class="pre">Py_SAFE_DOWNCAST()</span></code> macro checks for integer underflow and
overflow when downcasting from wide types to narrow types.</p></li>
</ul>
</li>
</ul>
<p>See also the <a class="reference internal" href="../library/devmode.html#devmode"><span class="std std-ref">Python Development Mode</span></a> and the
<a class="reference internal" href="#cmdoption-with-trace-refs"><code class="xref std std-option docutils literal notranslate"><span class="pre">--with-trace-refs</span></code></a> configure option.</p>
<div class="versionchanged">
<p><span class="versionmodified changed">3.8 sürümünde değişti: </span>Release builds and debug builds are now ABI compatible: defining the
<code class="docutils literal notranslate"><span class="pre">Py_DEBUG</span></code> macro no longer implies the <code class="docutils literal notranslate"><span class="pre">Py_TRACE_REFS</span></code> macro (see the
<a class="reference internal" href="#cmdoption-with-trace-refs"><code class="xref std std-option docutils literal notranslate"><span class="pre">--with-trace-refs</span></code></a> option), which introduces the only ABI
incompatibility.</p>
</div>
</section>
<section id="debug-options">
<h3><span class="section-number">3.1.6. </span>Debug options<a class="headerlink" href="#debug-options" title="Permalink to this heading">¶</a></h3>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-pydebug">
<span class="sig-name descname"><span class="pre">--with-pydebug</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-with-pydebug" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p><a class="reference internal" href="#debug-build"><span class="std std-ref">Build Python in debug mode</span></a>: define the <code class="docutils literal notranslate"><span class="pre">Py_DEBUG</span></code>
macro (disabled by default).</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-trace-refs">
<span class="sig-name descname"><span class="pre">--with-trace-refs</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-with-trace-refs" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Enable tracing references for debugging purpose (disabled by default).</p>
<p>Effects:</p>
<ul class="simple">
<li><p>Define the <code class="docutils literal notranslate"><span class="pre">Py_TRACE_REFS</span></code> macro.</p></li>
<li><p>Add <code class="xref py py-func docutils literal notranslate"><span class="pre">sys.getobjects()</span></code> function.</p></li>
<li><p>Add <span class="target" id="index-5"></span><a class="reference internal" href="cmdline.html#envvar-PYTHONDUMPREFS"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PYTHONDUMPREFS</span></code></a> environment variable.</p></li>
</ul>
<p>This build is not ABI compatible with release build (default build) or debug
build (<code class="docutils literal notranslate"><span class="pre">Py_DEBUG</span></code> and <code class="docutils literal notranslate"><span class="pre">Py_REF_DEBUG</span></code> macros).</p>
<div class="versionadded">
<p><span class="versionmodified added">3.8 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-assertions">
<span class="sig-name descname"><span class="pre">--with-assertions</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-with-assertions" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Build with C assertions enabled (default is no): <code class="docutils literal notranslate"><span class="pre">assert(...);</span></code> and
<code class="docutils literal notranslate"><span class="pre">_PyObject_ASSERT(...);</span></code>.</p>
<p>If set, the <code class="docutils literal notranslate"><span class="pre">NDEBUG</span></code> macro is not defined in the <span class="target" id="index-6"></span><a class="reference internal" href="#envvar-OPT"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">OPT</span></code></a> compiler
variable.</p>
<p>See also the <a class="reference internal" href="#cmdoption-with-pydebug"><code class="xref std std-option docutils literal notranslate"><span class="pre">--with-pydebug</span></code></a> option (<a class="reference internal" href="#debug-build"><span class="std std-ref">debug build</span></a>) which also enables assertions.</p>
<div class="versionadded">
<p><span class="versionmodified added">3.6 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-valgrind">
<span class="sig-name descname"><span class="pre">--with-valgrind</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-with-valgrind" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Enable Valgrind support (default is no).</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-dtrace">
<span class="sig-name descname"><span class="pre">--with-dtrace</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-with-dtrace" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Enable DTrace support (default is no).</p>
<p>See <a class="reference internal" href="../howto/instrumentation.html#instrumentation"><span class="std std-ref">Instrumenting CPython with DTrace and SystemTap</span></a>.</p>
<div class="versionadded">
<p><span class="versionmodified added">3.6 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-address-sanitizer">
<span class="sig-name descname"><span class="pre">--with-address-sanitizer</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-with-address-sanitizer" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Enable AddressSanitizer memory error detector, <code class="docutils literal notranslate"><span class="pre">asan</span></code> (default is no).</p>
<div class="versionadded">
<p><span class="versionmodified added">3.6 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-memory-sanitizer">
<span class="sig-name descname"><span class="pre">--with-memory-sanitizer</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-with-memory-sanitizer" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Enable MemorySanitizer allocation error detector, <code class="docutils literal notranslate"><span class="pre">msan</span></code> (default is no).</p>
<div class="versionadded">
<p><span class="versionmodified added">3.6 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-undefined-behavior-sanitizer">
<span class="sig-name descname"><span class="pre">--with-undefined-behavior-sanitizer</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-with-undefined-behavior-sanitizer" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Enable UndefinedBehaviorSanitizer undefined behaviour detector, <code class="docutils literal notranslate"><span class="pre">ubsan</span></code>
(default is no).</p>
<div class="versionadded">
<p><span class="versionmodified added">3.6 sürümünde geldi.</span></p>
</div>
</dd></dl>
</section>
<section id="linker-options">
<h3><span class="section-number">3.1.7. </span>Linker options<a class="headerlink" href="#linker-options" title="Permalink to this heading">¶</a></h3>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-enable-shared">
<span class="sig-name descname"><span class="pre">--enable-shared</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-enable-shared" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Enable building a shared Python library: <code class="docutils literal notranslate"><span class="pre">libpython</span></code> (default is no).</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-without-static-libpython">
<span class="sig-name descname"><span class="pre">--without-static-libpython</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-without-static-libpython" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Do not build <code class="docutils literal notranslate"><span class="pre">libpythonMAJOR.MINOR.a</span></code> and do not install <code class="docutils literal notranslate"><span class="pre">python.o</span></code>
(built and enabled by default).</p>
<div class="versionadded">
<p><span class="versionmodified added">3.10 sürümünde geldi.</span></p>
</div>
</dd></dl>
</section>
<section id="libraries-options">
<h3><span class="section-number">3.1.8. </span>Libraries options<a class="headerlink" href="#libraries-options" title="Permalink to this heading">¶</a></h3>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-libs">
<span class="sig-name descname"><span class="pre">--with-libs</span></span><span class="sig-prename descclassname"><span class="pre">='lib1</span> <span class="pre">...'</span></span><a class="headerlink" href="#cmdoption-with-libs" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Link against additional libraries (default is no).</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-system-expat">
<span class="sig-name descname"><span class="pre">--with-system-expat</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-with-system-expat" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Build the <code class="xref py py-mod docutils literal notranslate"><span class="pre">pyexpat</span></code> module using an installed <code class="docutils literal notranslate"><span class="pre">expat</span></code> library
(default is no).</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-system-ffi">
<span class="sig-name descname"><span class="pre">--with-system-ffi</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-with-system-ffi" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Build the <code class="xref py py-mod docutils literal notranslate"><span class="pre">_ctypes</span></code> extension module using an installed <code class="docutils literal notranslate"><span class="pre">ffi</span></code>
library, see the <a class="reference internal" href="../library/ctypes.html#module-ctypes" title="ctypes: A foreign function library for Python."><code class="xref py py-mod docutils literal notranslate"><span class="pre">ctypes</span></code></a> module (default is system-dependent).</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-system-libmpdec">
<span class="sig-name descname"><span class="pre">--with-system-libmpdec</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-with-system-libmpdec" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Build the <code class="docutils literal notranslate"><span class="pre">_decimal</span></code> extension module using an installed <code class="docutils literal notranslate"><span class="pre">mpdec</span></code>
library, see the <a class="reference internal" href="../library/decimal.html#module-decimal" title="decimal: Implementation of the General Decimal Arithmetic Specification."><code class="xref py py-mod docutils literal notranslate"><span class="pre">decimal</span></code></a> module (default is no).</p>
<div class="versionadded">
<p><span class="versionmodified added">3.3 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-readline">
<span class="sig-name descname"><span class="pre">--with-readline</span></span><span class="sig-prename descclassname"><span class="pre">=editline</span></span><a class="headerlink" href="#cmdoption-with-readline" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Use <code class="docutils literal notranslate"><span class="pre">editline</span></code> library for backend of the <a class="reference internal" href="../library/readline.html#module-readline" title="readline: GNU readline support for Python. (Unix)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">readline</span></code></a> module.</p>
<p>Define the <code class="docutils literal notranslate"><span class="pre">WITH_EDITLINE</span></code> macro.</p>
<div class="versionadded">
<p><span class="versionmodified added">3.10 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-without-readline">
<span class="sig-name descname"><span class="pre">--without-readline</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-without-readline" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Don’t build the <a class="reference internal" href="../library/readline.html#module-readline" title="readline: GNU readline support for Python. (Unix)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">readline</span></code></a> module (built by default).</p>
<p>Don’t define the <code class="docutils literal notranslate"><span class="pre">HAVE_LIBREADLINE</span></code> macro.</p>
<div class="versionadded">
<p><span class="versionmodified added">3.10 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-libm">
<span class="sig-name descname"><span class="pre">--with-libm</span></span><span class="sig-prename descclassname"><span class="pre">=STRING</span></span><a class="headerlink" href="#cmdoption-with-libm" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Override <code class="docutils literal notranslate"><span class="pre">libm</span></code> math library to <em>STRING</em> (default is system-dependent).</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-libc">
<span class="sig-name descname"><span class="pre">--with-libc</span></span><span class="sig-prename descclassname"><span class="pre">=STRING</span></span><a class="headerlink" href="#cmdoption-with-libc" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Override <code class="docutils literal notranslate"><span class="pre">libc</span></code> C library to <em>STRING</em> (default is system-dependent).</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-openssl">
<span class="sig-name descname"><span class="pre">--with-openssl</span></span><span class="sig-prename descclassname"><span class="pre">=DIR</span></span><a class="headerlink" href="#cmdoption-with-openssl" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Root of the OpenSSL directory.</p>
<div class="versionadded">
<p><span class="versionmodified added">3.7 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-openssl-rpath">
<span class="sig-name descname"><span class="pre">--with-openssl-rpath</span></span><span class="sig-prename descclassname"><span class="pre">=[no|auto|DIR]</span></span><a class="headerlink" href="#cmdoption-with-openssl-rpath" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Set runtime library directory (rpath) for OpenSSL libraries:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">no</span></code> (default): don’t set rpath;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">auto</span></code>: auto-detect rpath from <a class="reference internal" href="#cmdoption-with-openssl"><code class="xref std std-option docutils literal notranslate"><span class="pre">--with-openssl</span></code></a> and
<code class="docutils literal notranslate"><span class="pre">pkg-config</span></code>;</p></li>
<li><p><em>DIR</em>: set an explicit rpath.</p></li>
</ul>
<div class="versionadded">
<p><span class="versionmodified added">3.10 sürümünde geldi.</span></p>
</div>
</dd></dl>
</section>
<section id="security-options">
<h3><span class="section-number">3.1.9. </span>Security Options<a class="headerlink" href="#security-options" title="Permalink to this heading">¶</a></h3>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-hash-algorithm">
<span class="sig-name descname"><span class="pre">--with-hash-algorithm</span></span><span class="sig-prename descclassname"><span class="pre">=[fnv|siphash13|siphash24]</span></span><a class="headerlink" href="#cmdoption-with-hash-algorithm" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Select hash algorithm for use in <code class="docutils literal notranslate"><span class="pre">Python/pyhash.c</span></code>:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">siphash13</span></code> (default);</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">siphash24</span></code>;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">fnv</span></code>.</p></li>
</ul>
<div class="versionadded">
<p><span class="versionmodified added">3.4 sürümünde geldi.</span></p>
</div>
<div class="versionadded">
<p><span class="versionmodified added">3.11 sürümünde geldi: </span><code class="docutils literal notranslate"><span class="pre">siphash13</span></code> is added and it is the new default.</p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-builtin-hashlib-hashes">
<span class="sig-name descname"><span class="pre">--with-builtin-hashlib-hashes</span></span><span class="sig-prename descclassname"><span class="pre">=md5,sha1,sha256,sha512,sha3,blake2</span></span><a class="headerlink" href="#cmdoption-with-builtin-hashlib-hashes" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Built-in hash modules:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">md5</span></code>;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">sha1</span></code>;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">sha256</span></code>;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">sha512</span></code>;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">sha3</span></code> (with shake);</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">blake2</span></code>.</p></li>
</ul>
<div class="versionadded">
<p><span class="versionmodified added">3.9 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-ssl-default-suites">
<span class="sig-name descname"><span class="pre">--with-ssl-default-suites</span></span><span class="sig-prename descclassname"><span class="pre">=[python|openssl|STRING]</span></span><a class="headerlink" href="#cmdoption-with-ssl-default-suites" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Override the OpenSSL default cipher suites string:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">python</span></code> (default): use Python’s preferred selection;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">openssl</span></code>: leave OpenSSL’s defaults untouched;</p></li>
<li><p><em>STRING</em>: use a custom string</p></li>
</ul>
<p>See the <a class="reference internal" href="../library/ssl.html#module-ssl" title="ssl: TLS/SSL wrapper for socket objects"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ssl</span></code></a> module.</p>
<div class="versionadded">
<p><span class="versionmodified added">3.7 sürümünde geldi.</span></p>
</div>
<div class="versionchanged">
<p><span class="versionmodified changed">3.10 sürümünde değişti: </span>The settings <code class="docutils literal notranslate"><span class="pre">python</span></code> and <em>STRING</em> also set TLS 1.2 as minimum
protocol version.</p>
</div>
</dd></dl>
</section>
<section id="macos-options">
<h3><span class="section-number">3.1.10. </span>macOS Options<a class="headerlink" href="#macos-options" title="Permalink to this heading">¶</a></h3>
<p>See <code class="docutils literal notranslate"><span class="pre">Mac/README.rst</span></code>.</p>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-enable-universalsdk">
<span class="sig-name descname"><span class="pre">--enable-universalsdk</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-enable-universalsdk" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd></dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-1">
<span class="sig-name descname"><span class="pre">--enable-universalsdk</span></span><span class="sig-prename descclassname"><span class="pre">=SDKDIR</span></span><a class="headerlink" href="#cmdoption-1" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Create a universal binary build. <em>SDKDIR</em> specifies which macOS SDK should
be used to perform the build (default is no).</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-enable-framework">
<span class="sig-name descname"><span class="pre">--enable-framework</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-enable-framework" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd></dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-2">
<span class="sig-name descname"><span class="pre">--enable-framework</span></span><span class="sig-prename descclassname"><span class="pre">=INSTALLDIR</span></span><a class="headerlink" href="#cmdoption-2" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Create a Python.framework rather than a traditional Unix install. Optional
<em>INSTALLDIR</em> specifies the installation path (default is no).</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-universal-archs">
<span class="sig-name descname"><span class="pre">--with-universal-archs</span></span><span class="sig-prename descclassname"><span class="pre">=ARCH</span></span><a class="headerlink" href="#cmdoption-with-universal-archs" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Specify the kind of universal binary that should be created. This option is
only valid when <a class="reference internal" href="#cmdoption-enable-universalsdk"><code class="xref std std-option docutils literal notranslate"><span class="pre">--enable-universalsdk</span></code></a> is set.</p>
<p>Options:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">universal2</span></code>;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">32-bit</span></code>;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">64-bit</span></code>;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">3-way</span></code>;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">intel</span></code>;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">intel-32</span></code>;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">intel-64</span></code>;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">all</span></code>.</p></li>
</ul>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-framework-name">
<span class="sig-name descname"><span class="pre">--with-framework-name</span></span><span class="sig-prename descclassname"><span class="pre">=FRAMEWORK</span></span><a class="headerlink" href="#cmdoption-with-framework-name" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>Specify the name for the python framework on macOS only valid when
<a class="reference internal" href="#cmdoption-enable-framework"><code class="xref std std-option docutils literal notranslate"><span class="pre">--enable-framework</span></code></a> is set (default: <code class="docutils literal notranslate"><span class="pre">Python</span></code>).</p>
</dd></dl>
</section>
<section id="cross-compiling-options">
<h3><span class="section-number">3.1.11. </span>Cross Compiling Options<a class="headerlink" href="#cross-compiling-options" title="Permalink to this heading">¶</a></h3>
<p>Cross compiling, also known as cross building, can be used to build Python
for another CPU architecture or platform. Cross compiling requires a Python
interpreter for the build platform. The version of the build Python must match
the version of the cross compiled host Python.</p>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-build">
<span class="sig-name descname"><span class="pre">--build</span></span><span class="sig-prename descclassname"><span class="pre">=BUILD</span></span><a class="headerlink" href="#cmdoption-build" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>configure for building on BUILD, usually guessed by <strong class="program">config.guess</strong>.</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-host">
<span class="sig-name descname"><span class="pre">--host</span></span><span class="sig-prename descclassname"><span class="pre">=HOST</span></span><a class="headerlink" href="#cmdoption-host" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>cross-compile to build programs to run on HOST (target platform)</p>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-with-build-python">
<span class="sig-name descname"><span class="pre">--with-build-python</span></span><span class="sig-prename descclassname"><span class="pre">=path/to/python</span></span><a class="headerlink" href="#cmdoption-with-build-python" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>path to build <code class="docutils literal notranslate"><span class="pre">python</span></code> binary for cross compiling</p>
<div class="versionadded">
<p><span class="versionmodified added">3.11 sürümünde geldi.</span></p>
</div>
</dd></dl>
<dl class="std cmdoption">
<dt class="sig sig-object std" id="cmdoption-arg-CONFIG_SITE">
<span id="cmdoption-arg-config-site"></span><span class="sig-name descname"><span class="pre">CONFIG_SITE</span></span><span class="sig-prename descclassname"><span class="pre">=file</span></span><a class="headerlink" href="#cmdoption-arg-CONFIG_SITE" title="Bu tanım için kalıcı bağlantı">¶</a></dt>
<dd><p>An environment variable that points to a file with configure overrides.</p>
<p>Example <em>config.site</em> file:</p>
<div class="highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="c1"># config.site-aarch64</span>
<span class="n">ac_cv_buggy_getaddrinfo</span><span class="o">=</span><span class="n">no</span>
<span class="n">ac_cv_file__dev_ptmx</span><span class="o">=</span><span class="n">yes</span>
<span class="n">ac_cv_file__dev_ptc</span><span class="o">=</span><span class="n">no</span>
</pre></div>
</div>
</dd></dl>
<p>Cross compiling example:</p>
<div class="highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="n">CONFIG_SITE</span><span class="o">=</span><span class="n">config</span><span class="o">.</span><span class="n">site</span><span class="o">-</span><span class="n">aarch64</span> <span class="o">../</span><span class="n">configure</span> \
<span class="o">--</span><span class="n">build</span><span class="o">=</span><span class="n">x86_64</span><span class="o">-</span><span class="n">pc</span><span class="o">-</span><span class="n">linux</span><span class="o">-</span><span class="n">gnu</span> \
<span class="o">--</span><span class="n">host</span><span class="o">=</span><span class="n">aarch64</span><span class="o">-</span><span class="n">unknown</span><span class="o">-</span><span class="n">linux</span><span class="o">-</span><span class="n">gnu</span> \
<span class="o">--</span><span class="k">with</span><span class="o">-</span><span class="n">build</span><span class="o">-</span><span class="n">python</span><span class="o">=../</span><span class="n">x86_64</span><span class="o">/</span><span class="n">python</span>
</pre></div>
</div>
</section>
</section>
<section id="python-build-system">
<h2><span class="section-number">3.2. </span>Python Build System<a class="headerlink" href="#python-build-system" title="Permalink to this heading">¶</a></h2>
<section id="main-files-of-the-build-system">
<h3><span class="section-number">3.2.1. </span>Main files of the build system<a class="headerlink" href="#main-files-of-the-build-system" title="Permalink to this heading">¶</a></h3>
<ul class="simple">
<li><p><code class="file docutils literal notranslate"><span class="pre">configure.ac</span></code> => <code class="file docutils literal notranslate"><span class="pre">configure</span></code>;</p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">Makefile.pre.in</span></code> => <code class="file docutils literal notranslate"><span class="pre">Makefile</span></code> (created by <code class="file docutils literal notranslate"><span class="pre">configure</span></code>);</p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">pyconfig.h</span></code> (created by <code class="file docutils literal notranslate"><span class="pre">configure</span></code>);</p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">Modules/Setup</span></code>: C extensions built by the Makefile using
<code class="file docutils literal notranslate"><span class="pre">Module/makesetup</span></code> shell script;</p></li>
<li><p><code class="file docutils literal notranslate"><span class="pre">setup.py</span></code>: C extensions built using the <a class="reference internal" href="../library/distutils.html#module-distutils" title="distutils: Support for building and installing Python modules into an existing Python installation."><code class="xref py py-mod docutils literal notranslate"><span class="pre">distutils</span></code></a> module.</p></li>
</ul>
</section>
<section id="main-build-steps">
<h3><span class="section-number">3.2.2. </span>Main build steps<a class="headerlink" href="#main-build-steps" title="Permalink to this heading">¶</a></h3>
<ul class="simple">
<li><p>C files (<code class="docutils literal notranslate"><span class="pre">.c</span></code>) are built as object files (<code class="docutils literal notranslate"><span class="pre">.o</span></code>).</p></li>
<li><p>A static <code class="docutils literal notranslate"><span class="pre">libpython</span></code> library (<code class="docutils literal notranslate"><span class="pre">.a</span></code>) is created from objects files.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">python.o</span></code> and the static <code class="docutils literal notranslate"><span class="pre">libpython</span></code> library are linked into the
final <code class="docutils literal notranslate"><span class="pre">python</span></code> program.</p></li>
<li><p>C extensions are built by the Makefile (see <code class="file docutils literal notranslate"><span class="pre">Modules/Setup</span></code>)
and <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">setup.py</span> <span class="pre">build</span></code>.</p></li>
</ul>
</section>
<section id="main-makefile-targets">
<h3><span class="section-number">3.2.3. </span>Main Makefile targets<a class="headerlink" href="#main-makefile-targets" title="Permalink to this heading">¶</a></h3>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">make</span></code>: Build Python with the standard library.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">platform:</span></code>: build the <code class="docutils literal notranslate"><span class="pre">python</span></code> program, but don’t build the
standard library extension modules.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">profile-opt</span></code>: build Python using Profile Guided Optimization (PGO).
You can use the configure <a class="reference internal" href="#cmdoption-enable-optimizations"><code class="xref std std-option docutils literal notranslate"><span class="pre">--enable-optimizations</span></code></a> option to make
this the default target of the <code class="docutils literal notranslate"><span class="pre">make</span></code> command (<code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">all</span></code> or just
<code class="docutils literal notranslate"><span class="pre">make</span></code>).</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">buildbottest</span></code>: Build Python and run the Python test suite, the same
way than buildbots test Python. Set <code class="docutils literal notranslate"><span class="pre">TESTTIMEOUT</span></code> variable (in seconds)
to change the test timeout (1200 by default: 20 minutes).</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">install</span></code>: Build and install Python.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">regen-all</span></code>: Regenerate (almost) all generated files;
<code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">regen-stdlib-module-names</span></code> and <code class="docutils literal notranslate"><span class="pre">autoconf</span></code> must be run separately
for the remaining generated files.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">clean</span></code>: Remove built files.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">distclean</span></code>: Same than <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">clean</span></code>, but remove also files created
by the configure script.</p></li>
</ul>
</section>
<section id="c-extensions">
<h3><span class="section-number">3.2.4. </span>C extensions<a class="headerlink" href="#c-extensions" title="Permalink to this heading">¶</a></h3>
<p>Some C extensions are built as built-in modules, like the <code class="docutils literal notranslate"><span class="pre">sys</span></code> module.
They are built with the <code class="docutils literal notranslate"><span class="pre">Py_BUILD_CORE_BUILTIN</span></code> macro defined.
Built-in modules have no <code class="docutils literal notranslate"><span class="pre">__file__</span></code> attribute:</p>
<div class="highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">sys</span>
<span class="gp">>>> </span><span class="n">sys</span>
<span class="go"><module 'sys' (built-in)></span>
<span class="gp">>>> </span><span class="n">sys</span><span class="o">.</span><span class="vm">__file__</span>
<span class="gt">Traceback (most recent call last):</span>
File <span class="nb">"<stdin>"</span>, line <span class="m">1</span>, in <span class="n"><module></span>
<span class="gr">AttributeError</span>: <span class="n">module 'sys' has no attribute '__file__'</span>
</pre></div>
</div>
<p>Other C extensions are built as dynamic libraries, like the <code class="docutils literal notranslate"><span class="pre">_asyncio</span></code> module.
They are built with the <code class="docutils literal notranslate"><span class="pre">Py_BUILD_CORE_MODULE</span></code> macro defined.
Example on Linux x86-64:</p>
<div class="highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="kn">import</span> <span class="nn">_asyncio</span>
<span class="gp">>>> </span><span class="n">_asyncio</span>
<span class="go"><module '_asyncio' from '/usr/lib64/python3.9/lib-dynload/_asyncio.cpython-39-x86_64-linux-gnu.so'></span>
<span class="gp">>>> </span><span class="n">_asyncio</span><span class="o">.</span><span class="vm">__file__</span>
<span class="go">'/usr/lib64/python3.9/lib-dynload/_asyncio.cpython-39-x86_64-linux-gnu.so'</span>