-
Notifications
You must be signed in to change notification settings - Fork 0
/
Configure
executable file
·2048 lines (1911 loc) · 61.5 KB
/
Configure
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
#!/bin/sh
#
# $Id$
#
VERSION="3.33"
RELEASE=1
if [ $RELEASE -eq 1 ]; then
VERSIONLONG="$VERSION"
else
VERSIONLONG="$VERSION Beta"
fi
msg2()
{
echo "${@}" | iconv -f utf-8 -t latin1
}
case "${LANG}" in
*.iso-8*|*.ISO-8*)
msg="msg2"
lynxopt="-dump"
;;
*)
msg="echo"
lynxopt="-dump -display_charset=utf-8"
;;
esac
usage()
{
case "${LANG}" in
fr*)
${msg} "Utilisation : Configure [ options ]
-help Afficher cette aide
-error Afficher les erreurs lors de l'exécution de Configure
-debug Compiler avec les informations de débogage
-profiling Compiler avec les informations du profil
-warn Compiler avec des alertes supplémentaires
-geoip Compiler avec le support GeoIP (pour l'IP par pays)
-curl Compiler avec le support Curl (pour la commande « FETCH »)
-tls Compiler avec GnuTLS lib (au lieu de OpenSSL)
-upnp Compiler avec le support UPnP avec miniupnpc (pour les routeurs NAT)
-ruby Compiler avec le support pour les scripts Ruby
-kqueue Compiler avec le support kqueue()
-no-blowfish Compiler sans le support Blowfish
-no-chroot Compiler sans le support chroot()
-no-openssl Compiler sans le support OpenSSL
-no-http Compiler sans le serveur HTTP interne
-no-admin Compiler sans le serveur HTTP d'administration (nécessite le serveur HTTP interne)
-no-telnet Compiler sans le serveur Telnet
-no-memsave Compiler sans protection de mémoire
-no-libs Compiler un binaire statique
TRANSLATION= Définir une traduction personnalisée
PREFIX= Définir le chemin d'installation (par défaut « /usr/local »)
LOCALBASE= Définir le chemin des « .h » et librairies (« /usr/local »)
CC=gcc Définir le compilateur (« gcc »)
CFLAGS= Définir les options du compilateur
LDFLAGS= Définir les options du compilateur pour la liaison
SLDFLAGS= Définir les options du compilateur pour la liaison statique seulement
LIBS= Définir les librairies personnalisées
RUBY= Définir l'interpréteur de Ruby (« ruby »)"
;;
de*)
${msg} "Usage: Configure [ options ]
-help Dise Hilfe
-error Zeige alle Fehlermeldungen des Compilers
-debug Aktiviere Diagnosefuntionen in iroffer
-profiling Benutze 'profiling' Funktionen
-warn Aktiviere alle Warnungen beim Uebersetzen
-geoip Benutze GeoIP Bibliothek (für IP nach Land)
-curl Benutze Curl Bibliothek (für den FETCH-Befehl)
-tls Benutze GnuTLS Bibliothek (anstelle von OpenSSL)
-upnp Benutze miniupnpc Bibliothek (für UPNP-NAT Routers)
-ruby Benutze Ruby Skript Erweiterung
-kqueue Benutze kqueue()
-no-blowfish Baue ohne Blowfish Verschlusselung
-no-chroot Baue ohne chroot()
-no-openssl Baue ohne OpenSSL Bibliothek
-no-http Baue ohne HTTP Server
-no-admin Baue ohne HTTP Admin
-no-telnet Baue ohne Telnet Server
-no-memsave Baue ohne Speicherschutz
-no-libs Baue ein statische Programm
TRANSLATION= Setze weitere Übersetzungen
PREFIX= Setze Installations-Pfad (/usr/local)
LOCALBASE= Setze Pfad für Include-Dateien und Bibliotheken (/usr/local)
CC=gcc Setze Compiler (gcc)
CFLAGS= Setze Compiler Optionen
LDFLAGS= Setze Linker Optionen
SLDFLAGS= Setze Linker Optionen für das statische binden
LIBS= Setze weitere Bibliotheken
RUBY= Setze Ruby Interpreter (ruby)"
;;
*)
${msg} "Usage: Configure [ options ]
-help This help
-error Print errors while running Configure
-debug Compile with debug symbols
-profiling Compile with profiling flags
-warn Compile with extra warning flags
-geoip Compile GeoIP lib (for IP to Country)
-curl Compile Curl lib (for the FETCH-Command)
-tls Compile with GnuTLS lib (instead of OpenSSL)
-upnp Compile with UPnP support with miniupnpc (for NAT Routers)
-ruby Compile with Ruby scripting support
-kqueue Compile with kqueue() support
-no-blowfish Compile without Blowfish encryption
-no-chroot Compile without chroot() support
-no-openssl Compile without OpenSSL lib
-no-http Compile without HTTP server
-no-admin Compile without HTTP Admin
-no-telnet Compile without Telnet server
-no-memsave Compile without memory protection
-no-libs Compile an static binary
TRANSLATION= Set custom translations
PREFIX= Set installation prefix (/usr/local)
LOCALBASE= Set prefix for includes and libs (/usr/local)
CC=gcc Set Compiler (gcc)
CFLAGS= Set custom compiler flags
LDFLAGS= Set custom linker flags
SLDFLAGS= Set custom linker flags for static only
LIBS= Set custom libs
RUBY= Set ruby interpreter (ruby)"
;;
esac
exit 64
}
case "${LANG}" in
fr*)
irt_start="Configuration pour"
irt_again="Vous devriez relancer Configure avec le paramètre « -error » pour voir les détails."
irt_noopenssl="ATTENTION : Utilisez « -no-openssl »"
irt_multinet="ATTENTION : Multinet est maintenant par défaut, enlevez « -m »"
irt_checkingos="Détermine le système d'exploitation... "
irt_checkfor="Vérification pour"
irt_checkif="Vérifie si"
irt_error="***ERREUR*** :"
irt_notsupported="Ce système d'exploitation n'est pas supporté"
irt_noedit="Ce fichier est automatiquement généré, ne pas modifier !"
irt_showerror="Affichage des erreurs lors de l'exécution"
irt_configure="Configuration"
irt_debugging="le débogage"
irt_extrawarnings="les messages d'avertissements"
irt_pedantic="les avertissements détaillés"
irt_profiling="le profil"
irt_with="avec"
irt_without="sans"
irt_blowfish="encodage Blowfish"
irt_memory="protection de la mémoire"
irt_found="trouvé"
irt_notfound="non trouvé"
irt_noexec="Vous n'êtes pas autorisé à exécuter"
irt_nomake="Impossible de trouver « make » ou « gmake »"
irt_nomake="Impossible de trouver « gcc » ou « cc »"
irt_seeingif="Vérifie si"
irt_seeinghow="Vérifie comment"
irt_works="fonctionne"
irt_worksinstead="travaille à la place"
irt_asexpected="comme prévu"
irt_nowork="ne semble pas fonctionner"
irt_yes="oui"
irt_no="non"
irt_accepts="accepte"
irt_unknown="inconnu"
irt_neither1="ni"
irt_neither2="ou"
irt_neither3="fonctionnent"
irt_seeing16bit="Vérifie comment définir un entier de 16 bits"
irt_seeing32bit="Vérifie comment définir un entier de 32 bits"
irt_seeing64bit="Vérifie comment définir un entier de 64 bits"
irt_isdefined="est défini"
irt_noipv6="échec, les IPv6 ne fonctionnent pas"
irt_compiling="la compilation avec la norme « #include »"
irt_nocompiling="n'a pas pu construire avec la norme « #include »"
irt_large="large"
irt_is="est"
irt_boosting="augmenter à"
irt_novalue="n'a pas pu le déterminer"
irt_endianness="Détermination « endianness »"
irt_endianbig="gros-boutiste"
irt_endianlittle="petit-boutiste"
irt_largefile="le support des gros fichiers"
irt_nolargefile="Non. La taille maximale des fichiers sera de"
irt_signedness="Détermine la version non signé de"
irt_display_int64="afficher 64 bits en utilisant"
irt_display_time="l'affichage « de time_t » en utilisant"
irt_msssing1="absent"
irt_msssing2="simulera"
irt_exists="existe"
irt_isneeded="est nécessaire"
irt_notneeded="pas nécessaire"
irt_needed="nécessaire"
irt_nocrypt="n'a pas pu trouver « crypt() » avec ou sans « crypt.h »"
irt_nolcrypt="Impossible à lier avec ou sans « -lcrypt » ou « -lcrypto »"
irt_neither4="Non plus"
irt_for="pour"
irt_nopassword="va désactiver les mots de passe cryptés"
irt_nochroot="va désactiver « chroot() »"
irt_nosetuid="va désactiver « setuid() »"
irt_nogetgrouplist="la liste des groupes seront incorrectes avec « setuid() »"
irt_nosendfile="n'utilisera pas « sendfile() »"
irt_nommap="n'utilisera « mmap() »"
irt_creating="Création de"
irt_done="Fait"
irt_fdlimit="nom de « fd limit »"
irt_nofdlimit="ne travaille pas"
irt_nosignal="utilisera une gestion des signaux boiteuse"
irt_values="les valeurs"
irt_nosi_code="ne fera pas état de « si_code »"
irt_nowait="ne fera pas état des codes de statuts de « wait() »"
irt_tos="TOS peut être défini pour les sockets IP"
irt_nogetaddrinfo="utilisera « gethostbyname() » à la place"
irt_nogethostbyname="ne fera pas état des codes d'erreur"
irt_nores_init="« res_init() » ne sera pas utilisé"
irt_no_kqueue="« kqueue() » ne sera pas utilisé"
irt_seeingif_lib="Vérifie si les librairies"
irt_lib_exists="existent"
irt_geoip6="prend en charge les IPv6"
irt_nogeoip6="Désactive GeoIP pour l'IPv6. Si vous voulez utilisez cette fonction, mettez à jour « libGeoIP »"
irt_nogeoip="Désactive la vérification GeoIP. Si vous voulez utilisez cette fonction, installez « libGeoIP »"
irt_noupnp="Désactive la fonction UPnP. Si vous voulez utilisez cette fonction, installez « libminiupnpc »"
irt_nocurl="Désactive la commande « FETCH ». Si vous voulez utiliser cette fonction, installez « libcurl »"
irt_curlssl="Note : Votre « libcurl » est lié avec"
irt_nossl="Désactive les fonctions SSL. Si vous voulez utiliser cette fonction, installez « OpenSSL »"
irt_notls="Désactive les fonctions SSL. Si vous voulez utiliser cette fonction, installez « GnuTLS »"
irt_badssl1="Votre « libcurl » est liée avec"
irt_badssl2="S'il vous plaît, configurez"
irt_badssl3="S'il vous plaît, configurez sans"
irt_noruby="Désactiver l'extension Ruby. Si vous voulez utiliser cette fonction, installez « libruby »"
irt_make1="Type"
irt_make2="à compiler"
irt_noerror="Aucune erreur ou avertissement ne doit apparaître lors de la compilation, si c'est le cas, quelque chose ne va pas"
;;
de*)
irt_start="Konfiguriere für"
irt_again="Bitte starte Configure zusätzlich mit dem Parameter '-error' für die Fehlermeldungen."
irt_noopenssl="WARNUNG: Bitte den Parameter '-no-openssl' benutzen"
irt_multinet="WARNUNG: Multinet ist immer aktiv, entfernde den Parameter -m"
irt_checkingos="Prüfe Betriebssystem... "
irt_checkfor="Prüfe auf"
irt_checkif="Prüfe ob"
irt_error="***FEHLER***:"
irt_notsupported="Das Betriebssystem ist nicht unterstützt"
irt_noedit="Automatisch erstellt, nicht aendern"
irt_showerror="Zeige Fehlermeldungen beim Konfigurieren"
irt_configure="Konfiguriere"
irt_debugging="debugging"
irt_extrawarnings="zusätzliche Warnungen"
irt_pedantic="pedantische Warnungen"
irt_profiling="profiling"
irt_with="mit"
irt_without="ohne"
irt_blowfish="blowfish Verschlüsselung"
irt_memory="memory protection"
irt_found="gefunden"
irt_notfound="nicht gefunden"
irt_noexec="Du kannst das Programm nicht ausführen"
irt_nomake="Kann weder 'make' noch 'gmake' finden"
irt_nocc="Kann weder 'gcc' noch 'cc' finden"
irt_seeingif="Prüfe ob"
irt_seeinghow="Prüfe wie"
irt_works="funktioniert"
irt_worksinstead="funtioniert anstelle"
irt_asexpected="wie erwartet"
irt_nowork="funktioniert offenbar nicht"
irt_yes="ja"
irt_no="nein"
irt_accepts="erkennt"
irt_unknown="Unbekannt"
irt_neither1="weder"
irt_neither2="noch"
irt_neither3="funktioniert"
irt_seeing16bit="Prüfe wie ein 16 Bit Integer definiert wird"
irt_seeing32bit="Prüfe wie ein 32 Bit Integer definiert wird"
irt_seeing64bit="Prüfe wie ein 64 Bit Integer definiert wird"
irt_isdefined="ist definiert"
irt_noipv6="Nein, IPv6 wird nicht funktionieren"
irt_compiling="das Übersetzen mit den Standard #include's"
irt_nocompiling="Kann nicht mit den Standard #include's übersetzen"
irt_large="groß"
irt_is="ist"
irt_boosting="Vergrößere auf"
irt_novalue="kann den Wert nicht ermitteln"
irt_endianness="Ermittle Byte-Reihenfolge"
irt_endianbig="Big-Endian"
irt_endianlittle="Little-Endian"
irt_largefile="Zugriff auf große Dateien"
irt_nolargefile="Nein. Maximale Dategröße ist"
irt_signedness="Ermittle den Vorzeichentyp von"
irt_display_int64="die Ausgabe von 64bit definiert wird mit"
irt_display_time="die Ausgabe von time_t definiert wird mit"
irt_msssing1="fehlt"
irt_msssing2="benutze Ersatz"
irt_exists="existiert"
irt_isneeded="benötigt wird"
irt_notneeded="wird nicht benötigt"
irt_needed="wird benötigt"
irt_nocrypt="kann crypt() weder mit noch ohne crypt.h finden"
irt_nolcrypt="kannt weder mit noch ohne -lcrypt oder -lcrypto binden"
irt_neither4="Keines"
irt_for="für"
irt_nopassword="kann keine Passwörter verschlüsseln"
irt_nochroot="kann kein chroot() verwenden"
irt_nosetuid="kann kein setuid() verwenden"
irt_nogetgrouplist="Gruppen Rechte sind unvolstä#ndig bei setuid()"
irt_nosendfile="Kann sendfile() nicht benutzen"
irt_nommap="Kann mmap() nicht benutzen"
irt_creating="Erzeuge"
irt_done="fertig"
irt_fdlimit="Name von fd limit"
irt_nofdlimit="beide funktionieren nicht"
irt_nosignal="Benutze einfache signal handlers"
irt_values="Werte"
irt_nosi_code="Kann keinen 'si_code' ausgeben."
irt_nowait="kann keinen Status von wait() ausgeben"
irt_tos="TOS für IP sockets gesetzt werden kann"
irt_nogetaddrinfo="Benutze statt dessen gethostbyname()"
irt_nogethostbyname="Kann Fehler nicht ausgeben"
irt_nores_init="Kann res_init() nicht benutzen"
irt_no_kqueue="Kann kqueue() nicht benutzen"
irt_seeingif_lib="Prüfe ob"
irt_lib_exists="Bibliothek existiert"
irt_geoip6="hat IPv6 Funktionen"
irt_nogeoip6="Benutze GeoIP nicht für IPv6. Für diese Funktion musst du eine neuer Version von 'libGeoIP' installieren"
irt_nogeoip="Benutze GeoIP nicht. Für diese Funktion musst du 'libGeoIP' installieren"
irt_noupnp="Benutze UPNP nicht. Für diese Funktion musst du 'libminiupnpc' installieren"
irt_nocurl="Kein FETCH-Befehl. Für diese Funktion musst du 'libcurl' installieren"
irt_curlssl="Hinweis: Deine 'libcurl' benutzt"
irt_nossl="Benutze kein SSL. Für diese Funktion musst du 'OpenSSL' installieren"
irt_notls="Benutze kein SSL. Für diese Funktion musst du 'GNU TLS' installieren"
irt_badssl1="Deine 'libcurl' benutzt"
irt_badssl2="Bitte konfiguriere"
irt_badssl3="Bitte konfiguriere ohne"
irt_noruby="Kann die RUBY-Erweiterung nicht benutzen. Für diese Funktion musst du 'libruby'installieren"
irt_make1="Zum Übersetzen jetzt"
irt_make2="eingeben"
irt_noerror="Keine Fehler oder Warnungen sollten beim Übersetzen auftreten. Falls doch ist das ein Fehler"
;;
*)
irt_start="Configuring for"
irt_again="You should re-run Configure with the '-error' argument to see the details."
irt_noopenssl="WARNING: Please use '-no-openssl'"
irt_multinet="WARNING: Multinet is now default, remove '-m'"
irt_checkingos="Determining OS... "
irt_checkfor="Checking for"
irt_checkif="Checking if"
irt_error="***ERROR***:"
irt_notsupported="This OS is not supported"
irt_noedit="Automatically Generated, Do Not Edit"
irt_showerror="Printing Errors During Execution"
irt_configure="Configuring"
irt_debugging="debugging"
irt_extrawarnings="extra warnings"
irt_pedantic="pedantic warnings"
irt_profiling="profiling"
irt_with="with"
irt_without="without"
irt_blowfish="blowfish encryption"
irt_memory="memory protection"
irt_found="found"
irt_notfound="not found"
irt_noexec="You are not allowed to execute"
irt_nomake="Couldn't find 'make' or' gmake'"
irt_nocc="Couldn't find 'gcc' or' cc'"
irt_seeingif="Seeing if"
irt_seeinghow="Seeing how"
irt_works="works"
irt_worksinstead="works instead"
irt_asexpected="as expected"
irt_nowork="didn't seem to work"
irt_yes="yes"
irt_no="no"
irt_accepts="accepts"
irt_unknown="Unknown"
irt_neither1="neither"
irt_neither2="or"
irt_neither3="worked"
irt_seeing16bit="Seeing how to define a 16 bit integer"
irt_seeing32bit="Seeing how to define a 32 bit integer"
irt_seeing64bit="Seeing how to define a 64 bit integer"
irt_isdefined="is defined"
irt_noipv6="failed, IPv6 will not work"
irt_compiling="compiling with standard #include's"
irt_nocompiling="couldn't build with standard #include's"
irt_large="large"
irt_is="is"
irt_boosting="Boosting up to"
irt_novalue="couldn't determine it"
irt_endianness="Determining endianness"
irt_endianbig="Big-Endian"
irt_endianlittle="Little-Endian"
irt_largefile="large file support"
irt_nolargefile="No. Max filesize will be"
irt_signedness="Determing the signedness of"
irt_display_int64="to display 64bit using"
irt_display_time="to display time_t using"
irt_msssing1="missing"
irt_msssing2="will emulate"
irt_exists="exists"
irt_isneeded="is needed"
irt_notneeded="not needed"
irt_needed="needed"
irt_nocrypt="couldn't find crypt() neither with or without crypt.h"
irt_nolcrypt="couldn't link with or without -lcrypt or -lcrypto"
irt_neither4="Neither"
irt_for="for"
irt_nopassword="will disable encrypted passwords"
irt_nochroot="will not be able to chroot()"
irt_nosetuid="will not be able to setuid()"
irt_nogetgrouplist="group list will be incorrect when setuid()-ing"
irt_nosendfile="won't use sendfile()"
irt_nommap="won't use mmap()"
irt_creating="Creating"
irt_done="Done"
irt_fdlimit="name of fd limit"
irt_nofdlimit="neither name work"
irt_nosignal="will use lame signal handlers"
irt_values="values"
irt_nosi_code="won't report 'si_code'"
irt_nowait="won't report wait() status codes"
irt_tos="TOS can be set for IP sockets"
irt_nogetaddrinfo="will use gethostbyname() instead"
irt_negetaddrinfo="utilisera gethostbyname à la place"
irt_nogethostbyname="won't report error codes"
irt_nores_init="won't use res_init()"
irt_no_kqueue="won't use kqueue()"
irt_seeingif_lib="Seeing if"
irt_lib_exists="library exists"
irt_geoip6="has IPv6 support"
irt_nogeoip6="Disabled the GeoIP for IPv6. If you want to use this feature, please update 'libGeoIP'"
irt_nogeoip="Disabled the GeoIP-check. If you want to use this feature, please install 'libGeoIP'"
irt_noupnp="Disabled the UPNP-feature. If you want to use this feature, please install 'libminiupnpc'"
irt_nocurl="Disabled the FETCH-Command. If you want to use this feature, please install 'libcurl'"
irt_curlssl="Notice: Your 'libcurl' is linked with"
irt_nossl="Disabled the SSL Features. If you want to use this feature, please install 'OpenSSL'"
irt_notls="Disabled the SSL Features. If you want to use this feature, please install 'GNU TLS'"
irt_badssl1="Your 'libcurl' is linked with"
irt_badssl2="Please configure"
irt_badssl3="Please configure without"
irt_noruby="Disabled the RUBY-extension. If you want to use this feature, please install 'libruby'"
irt_make1="Type"
irt_make2="to compile"
irt_noerror="No errors or warnings should appear when compiling, if they do, something is wrong"
;;
esac
echo
${msg} "${irt_start} iroffer-dinoex $VERSIONLONG"
waserror()
{
${msg} "${irt_again}"
echo
exit 72
}
cygwin_version()
{
IFS='.-'
set -e
echo "${ver}" | (
read ver_A ver_B ver_C dummy
echo "${ver_A}"
echo "${ver_B}"
echo "${ver_C}"
# 2.x.x - 9.x.x, 1.6.x - 1.9.x, and 1.5.6 - 1.5.9 are ok
if [ \( "$ver_A" -ge "2" \) \
-o \( "$ver_A" -eq "1" -a "$ver_B" -ge "6" \) \
-o \( "$ver_A" -eq "1" -a "$ver_B" -eq "5" -a "$ver_C" -ge "6" \) \
]; then
${msg} "OK, $ver"
else
${msg} "${irt_error} $ver < 1.5.6"
waserror
fi
)
set +e
unset IFS
}
FEATURES=""
OPT_WARN2=false
OPT_ERRORS=false
OPT_DEBUG=false
OPT_WARN=false
OPT_PROF=false
OPT_GEOIP=false
OPT_KQUEUE=false
OPT_CURL=false
OPT_SSL=true
OPT_TLS=false
OPT_UPNP=false
OPT_RUBY=false
OPT_NOADMIN=false
OPT_NOBLOWFISH=false
OPT_NOCHROOT=false
OPT_NOHTTP=false
OPT_NOTELNET=false
OPT_NOMEMSAVE=false
OPT_STATIC=false
cctype="gcc"
ruby="ruby"
PREFIX="/usr/local"
LOCALBASE="/usr/local"
TRANSLATION="de it fr"
while test "${1}" != ""
do
case "${1}" in
-h*) usage ;;
CC=*) cctype="${1#CC=}" ;;
CFLAGS=*) CFLAGS="${1#CFLAGS=}" ;;
LDFLAGS=*) LDFLAGS="${1#LDFLAGS=}" ;;
SLDFLAGS=*) SLDFLAGS="${1#SLDFLAGS=}" ;;
LIBS=*) LIBS="${1#LIBS=}" ;;
LOCALBASE=*) LOCALBASE="${1#LOCALBASE=}" ;;
PREFIX=*) PREFIX="${1#PREFIX=}" ;;
RUBY=*) ruby="${1#RUBY=}" ;;
WARN=*) OPT_WARN2="${1#WARN=}" ;;
TRANSLATION=*) TRANSLATION="${TRANSLATION} ${1##TRANSLATION=}" ;;
-e*) OPT_ERRORS=true ;;
-d*) OPT_DEBUG=true ;;
-w*) OPT_WARN=true ;;
-p*) OPT_PROF=true ;;
-g*) OPT_GEOIP=true ;;
-k*) OPT_KQUEUE=true ;;
-c*) OPT_CURL=true ;;
-s*) ${msg} "${irt_noopenssl}"; echo ""; OPT_SSL=false ;; # old
-t*) OPT_TLS=true; OPT_SSL=false ;;
-u*) OPT_UPNP=true ;;
-r*) OPT_RUBY=true;;
-no-a*) OPT_NOADMIN=true ;;
-no-b*) OPT_NOBLOWFISH=true ;;
-no-c*) OPT_NOCHROOT=true ;;
-no-h*) OPT_NOHTTP=true ;;
-no-t*) OPT_NOTELNET=true ;;
-no-o*) OPT_SSL=false ;;
-no-m*) OPT_NOMEMSAVE=true ;;
-no-l*) OPT_STATIC=true ;;
-m) ${msg} "${irt_multinet}"; echo "" ;; # multinet
*) usage ;;
esac
shift
done
ostype=`uname`
${msg} "${irt_checkingos}${ostype}"
installgroup="root"
libs=""
rstatic=""
case "$ostype" in
FreeBSD | OpenBSD | NetBSD )
installgroup="wheel"
;;
Darwin)
rstatic="-lpthread -ldl -lz"
;;
Linux | IRIX | IRIX64 | OSF1 | Rhapsody | AIX )
# nothing fancy
rstatic="-lpthread -ldl -lz"
;;
GNU/kFreeBSD | GNU )
ostype="Linux"
rstatic="-lpthread -ldl -lz"
;;
SunOS )
libs="$libs -lsocket -lnsl -lresolv"
;;
BSD/OS )
ostype=BSD_OS
;;
HP-UX )
ostype=HPUX
;;
CYGWIN* )
ostype="${ostype%%_*}" # Strip Windows
rstatic="-static-libgcc"
exe=.exe
# only 1.5.6 or later is supported
${msg} -n "${irt_checkfor} >= 1.5.6... "
ver=`uname -r`
ver="${ver%%(*}" # Strip
VERSIONLONG="${VERSIONLONG} (Win32) $ver"
cygwin_version "${ver}"
;;
*)
${msg} "${irt_error} ${irt_notsupported}"
waserror
;;
esac
${msg} "/* ${irt_noedit} */" > src/iroffer_config.h
echo "" >> src/iroffer_config.h
${msg} "#define VERSIONLONG \"$VERSIONLONG\"" >> src/iroffer_config.h
echo "#define _OS_$ostype" >> src/iroffer_config.h
if $OPT_ERRORS; then
${msg} "${irt_showerror}"
else
exec 2>/dev/null
fi
if $OPT_DEBUG; then
${msg} "${irt_start} ${irt_debugging}."
echo "#define DEBUG" >> src/iroffer_config.h
DEBUG="-g"
case "${cctype}" in
*cparser*)
DEBUGFLAGS="
-Wchar-subscripts
-Wcomment
-Wendif-labels
-Wformat-security
-Wimplicit-int
-Wmain
-Wnested-externs
-Wnonnull
-Wparentheses
-Wredundant-decls
-Wreturn-type
-Wsystem-headers
-Wtrigraphs
-Wuninitialized -O
-Wunknown-pragmas
-Wunused
-Wunused-function
-Wunused-label
-Wunused-parameter
-Wunused-value
-Wunused-variable
"
;;
*)
DEBUGFLAGS="
-Wchar-subscripts
-Wcomment
-Wendif-labels
-Wformat-security
-Wimplicit-int
-Winline
-Wmissing-braces
-Wmissing-format-attribute
-Wmain
-Wnested-externs
-Wnonnull
-Wparentheses
-Wredundant-decls
-Wreturn-type
-Wstrict-aliasing
-Wswitch
-Wsystem-headers
-Wtrigraphs
-Wuninitialized -O
-Wunknown-pragmas
-Wunused
-Wunused-function
-Wunused-label
-Wunused-parameter
-Wunused-value
-Wunused-variable
"
;;
esac
else
case "$CFLAGS" in
*-O*)
;;
*)
DEBUG="-O2"
;;
esac
fi
if $OPT_WARN; then
${msg} "${irt_start} ${irt_extrawarnings}."
case "${cctype}" in
*cparser*)
WARNS="-Wcast-qual
-Wformat
-Wimplicit
-Wmissing-prototypes
-Wmissing-noreturn
-Wpointer-arith
-Wreturn-type
-Wshadow
-Wsign-compare
-Wstrict-prototypes
-Wwrite-strings"
;;
*)
WARNS="-Wbad-function-cast
-Wcast-qual
-Wformat
-Wimplicit
-Wmissing-declarations
-Wmissing-prototypes
-Wmissing-noreturn
-Wpointer-arith
-Wreturn-type
-Wshadow
-Wsign-compare
-Wstrict-prototypes
-Wwrite-strings"
;;
esac
fi
if $OPT_WARN2; then
${msg} "${irt_start} ${irt_pedantic}."
case "${cctype}" in
*cparser*)
WARNS2="
-Wconversion
-Wfloat-equal
-Wpacked
-Wpadded
-Wswitch-default
-Wswitch-enum
-Wundef
-Wunreachable-code
"
;;
gcc4*)
WARNS2="
-Wconversion
-Wc++-compat
-Wformat-nonliteral
-Wformat=2
-Wfloat-equal
-Wpacked
-Wpadded
-Wswitch-default
-Wswitch-enum
-Wundef
-Wunreachable-code
"
;;
*)
WARNS2="
-Wconversion
-Wformat-nonliteral
-Wformat=2
-Wfloat-equal
-Wpacked
-Wpadded
-Wswitch-default
-Wswitch-enum
-Wundef
-Wunreachable-code
"
;;
esac
fi
if $OPT_PROF; then
${msg} "${irt_start} ${irt_profiling}."
PROF="-pg"
fi
if $OPT_GEOIP; then
${msg} "${irt_start} GeoIP."
fi
if $OPT_CURL; then
${msg} "${irt_start} Curl."
fi
if ! $OPT_SSL; then
${msg} "${irt_configure} ${irt_without} SSL."
fi
if $OPT_TLS; then
${msg} "${irt_start} GNU TLS."
OPT_SSL=false
fi
if $OPT_UPNP; then
${msg} "${irt_start} UPNP ${irt_with} lminiupnpc."
fi
if $OPT_NOHTTP; then
${msg} "${irt_configure} ${irt_without} HTTP Server."
echo "#define WITHOUT_HTTP" >> src/iroffer_config.h
fi
if $OPT_NOADMIN; then
${msg} "${irt_configure} ${irt_without} HTTP Admin."
echo "#define WITHOUT_HTTP_ADMIN" >> src/iroffer_config.h
fi
if $OPT_NOTELNET; then
${msg} "${irt_configure} ${irt_without} Telnet Server."
echo "#define WITHOUT_TELNET" >> src/iroffer_config.h
fi
if $OPT_NOBLOWFISH; then
${msg} "${irt_configure} ${irt_without} ${irt_blowfish}."
echo "#define WITHOUT_BLOWFISH" >> src/iroffer_config.h
fi
if $OPT_NOCHROOT; then
${msg} "${irt_configure} ${irt_without} ${irt_nochroot}."
echo "#define NO_CHROOT" >> src/iroffer_config.h
fi
if $OPT_NOMEMSAVE; then
${msg} "${irt_configure} ${irt_without} ${irt_memory}."
echo "#define WITHOUT_MEMSAVE" >> src/iroffer_config.h
fi
${msg} -n "${irt_checkfor} make... "
makebin="`type make | awk '{print $NF}'`"
gmakebin="`type gmake | awk '{print $NF}'`"
if [ -f "${makebin}" ]; then
maketype="make"
if [ -x "${makebin}" ]; then
${msg} "${irt_found} $maketype"
else
${msg} "${irt_found} $maketype. ${irt_error} ${irt_noexec} $maketype"
waserror
fi
elif [ -f "${gmakebin}" ]; then
maketype="gmake"
if [ -x "${gmakebin}" ]; then
${msg} "${irt_found} $maketype"
else
${msg} "${irt_found} $maketype. ${irt_error} ${irt_noexec} $maketype"
waserror
fi
else
${msg} "${irt_notfound}. ${irt_error} ${irt_nomake}"
maketype="make"
waserror
fi
${msg} -n "${irt_checkfor} gcc/cc... "
ccrun=`type $cctype | awk '{print $NF}'`
if [ -f "${ccrun}" ]; then
if [ -x "${ccrun}" ]; then
${msg} "${irt_found} $cctype"
else
${msg} "${irt_found} $cctype. ${irt_error} ${irt_noexec} $cctype"
waserror
fi
else
cctype="cc"
ccrun=`type $cctype | awk '{print $NF}'`
if [ -f "${ccrun}" ]; then
if [ -x "${ccrun}" ]; then
${msg} "${irt_found} $cctype"
else
${msg} "${irt_found} $cctype. ${irt_error} ${irt_noexec} $cctype"
waserror
fi
else
${msg} "${irt_notfound}. ${irt_error} ${irt_nocc}"
cctype="gcc"
waserror
fi
fi
main1="
int
#ifdef __GNUC__
#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L
__attribute__ ((noreturn))
#endif
#endif
main (int argc, char **argv)
{
(void)argc;
(void)argv;
"
main2=" exit(0);
}"
main0="${main1}${main2}"
${msg} -n "${irt_seeingif} $cctype ${irt_works}... "
echo "
#include <stdlib.h>
${main0}" > config.temp.c
if $cctype -o config.temp $CFLAGS config.temp.c $LDFLAGS $libs $LIBS; then
${msg} "${irt_yes}"
else
${msg} " ${irt_error} $cctype ${irt_nowork}."
waserror
fi
${msg} -n "${irt_seeingif} $cctype ${irt_accepts} '-Wall'... "
echo "
#include <stdlib.h>
${main0}" > config.temp.c
if $cctype -o config.temp -Wall $CFLAGS config.temp.c $LDFLAGS $libs $LIBS; then
${msg} "${irt_yes}"
WARNS="-Wall $WARNS"
else
${msg} " ${irt_no}"
fi
${msg} -n "${irt_seeingif} $cctype ${irt_accepts} '-Werror'... "
echo "
#include <stdlib.h>
${main0}" > config.temp.c
if $cctype -o config.temp -Werror $CFLAGS config.temp.c $LDFLAGS $libs $LIBS; then
${msg} "${irt_yes}"
WERROR="-Werror"
else
${msg} " ${irt_no}"
fi
${msg} -n "${irt_seeing16bit}... "
echo "
#include <stdlib.h>
#include <stdio.h>
${main1}
printf(\"%d\", (int)sizeof( C_IR_INT16 ));
${main2}" > config.temp.c
if $cctype -o config.temp -DC_IR_INT16="short" $WARNS $WERROR $CFLAGS config.temp.c $LDFLAGS $libs $LIBS && [ "`./config.temp`" = "2" ]; then
echo "short"
echo "typedef short ir_int16;" >> src/iroffer_config.h
echo "typedef unsigned short ir_uint16;" >> src/iroffer_config.h
elif $cctype -o config.temp -DC_IR_INT16="int" $WARNS $WERROR $CFLAGS config.temp.c $LDFLAGS $libs $LIBS && [ "`./config.temp`" = "2" ]; then
echo "int"
echo "typedef int ir_int16;" >> src/iroffer_config.h
echo "typedef unsigned int ir_uint16;" >> src/iroffer_config.h
else
${msg} "${irt_unknown}. ${irt_error} ${irt_neither1} 'short' ${irt_neither2} 'int' ${irt_neither3}."
waserror
fi
${msg} -n "${irt_seeing32bit}... "
echo "
#include <stdlib.h>
#include <stdio.h>
${main1}
printf(\"%d\", (int)sizeof( C_IR_INT32 ));
${main2}" > config.temp.c
if $cctype -o config.temp -DC_IR_INT32="int" $WARNS $WERROR $CFLAGS config.temp.c $LDFLAGS $libs $LIBS && [ "`./config.temp`" = "4" ]; then
echo "int"
echo "typedef int ir_int32;" >> src/iroffer_config.h
echo "typedef unsigned int ir_uint32;" >> src/iroffer_config.h
elif $cctype -o config.temp -DC_IR_INT32="long" $WARNS $WERROR $CFLAGS config.temp.c $LDFLAGS $libs $LIBS && [ "`./config.temp`" = "4" ]; then
echo "long"
echo "typedef long ir_int32;" >> src/iroffer_config.h
echo "typedef unsigned long ir_uint32;" >> src/iroffer_config.h
elif $cctype -o config.temp -DC_IR_INT32="long long" $WARNS $WERROR $CFLAGS config.temp.c $LDFLAGS $libs $LIBS && [ "`./config.temp`" = "4" ]; then
echo "long long"
echo "typedef long long ir_int32;" >> src/iroffer_config.h
echo "typedef unsigned long long ir_uint32;" >> src/iroffer_config.h
elif $cctype -o config.temp -DC_IR_INT32="short" $WARNS $WERROR $CFLAGS config.temp.c $LDFLAGS $libs $LIBS && [ "`./config.temp`" = "4" ]; then
echo "short"
echo "typedef short ir_int32;" >> src/iroffer_config.h
echo "typedef unsigned short ir_uint32;" >> src/iroffer_config.h
else
${msg} "${irt_unknown}. ${irt_error} ${irt_neither1} 'short', 'int', 'long' ${irt_neither2} 'long long' ${irt_neither3}."
waserror
fi
${msg} -n "${irt_seeing64bit}... "
echo "
#include <stdlib.h>
#include <stdio.h>
${main1}
printf(\"%d\", (int)sizeof( C_IR_INT64 ));
${main2}" > config.temp.c
if $cctype -o config.temp -DC_IR_INT64="long" $WARNS $WERROR $CFLAGS config.temp.c $LDFLAGS $libs $LIBS && [ "`./config.temp`" = "8" ]; then
echo "long"
echo "typedef long ir_int64;" >> src/iroffer_config.h
echo "typedef unsigned long ir_uint64;" >> src/iroffer_config.h
elif $cctype -o config.temp -DC_IR_INT64="long long" $WARNS $WERROR $CFLAGS config.temp.c $LDFLAGS $libs $LIBS && [ "`./config.temp`" = "8" ]; then
echo "long long"
echo "typedef long long ir_int64;" >> src/iroffer_config.h
echo "typedef unsigned long long ir_uint64;" >> src/iroffer_config.h
elif $cctype -o config.temp -DC_IR_INT64="int" $WARNS $WERROR $CFLAGS config.temp.c $LDFLAGS $libs $LIBS && [ "`./config.temp`" = "8" ]; then
echo "int"
echo "typedef int ir_int64;" >> src/iroffer_config.h
echo "typedef unsigned int ir_uint64;" >> src/iroffer_config.h
elif $cctype -o config.temp -DC_IR_INT64="short" $WARNS $WERROR $CFLAGS config.temp.c $LDFLAGS $libs $LIBS && [ "`./config.temp`" = "8" ]; then
echo "short"
echo "typedef short ir_int64;" >> src/iroffer_config.h
echo "typedef unsigned short ir_uint64;" >> src/iroffer_config.h
else
${msg} "${irt_unknown}. ${irt_error} ${irt_neither1} 'short', 'int', 'long' ${irt_neither2} 'long long' ${irt_neither3}."
waserror
fi
if [ "$ostype" = CYGWIN ]; then
${msg} -n "${irt_checkif} AF_INET6 ${irt_isdefined}... "
echo "