Мигает терминал на пустой забой с Йосемити

В настоящее время существует баунти, предлагаемых на BitcoinTalk для реализации метода, что бы добавить биткоины обратно в Горно вознаграждение в случае, если адрес не было активности на протяжении более 50 лет, что позволит полностью решить эту проблему.

Пост можно найти здесь и находится на #3 в списке https://bitcointalk.org/index.php?topic=371601.0

+946
BenYR 20 авг. 2021 г., 03:24:50
15 ответов

После того, как я повышен до Лев, У меня появилась новая иконка на панели меню рядом с фарой. Это был набросок из фотографии похожа на одну из гостевой учетной записи.

Когда я нажал на этот значок, мне удалось выбрать в окне "войти...", которая в основном запертой моем Mac.

По какой-то причине этот значок исчез. Я не использую его часто, поэтому я не могу четко сказать, когда она пропала, но я бы сказал, что в течение последних 10 дней, наверное.

Как мне его вернуть? Я не знаю, где, чтобы включить его.

+936
Steerpike 03 февр. '09 в 4:24

Я предполагаю, что вы уже пробовали Октавы сейчас. Хорошая вещь об Октаве, если это вам не нужно скачать все пакеты для него, и база довольно легкий. Октаву на самом деле ближе всего к MATLAB вы также найдете.

+856
robinbb 19 дек. 2016 г., 14:15:17

Мой советник сказал мне то, что повлияло на меня в значительной степени во время моей докторской карьере. Она сказала: "Если вы не получаете в, вы сами не ставите себя или покинуть зону комфорта".

Из моего собственного опыта, я могу смело сказать, что б я попал в расширенный статистический и курсы по информатике имеют смысла по сравнению с навыками, которые я получила на этих курсах в получении постдока в престижном университете.

Честно говоря, я считаю, что у меня был один из самых низких средний балл в моем отделе (социальные науки) докторантов, но я также взял большинство курсов статистика. Короче говоря, используя эти навыки, полученные на публикацию статьи, демонстрирующие передовые статистические знания что-то значило. Б, что у меня не было.

+703
Steven Giglio 23 нояб. 2018 г., 01:01:21

Вам не нужно совершить в chainstate в блоках - просто вычислить его обычным способом, но выбросить блок данных после проверки.

На самом деле, это именно то, что подрезают в режиме ядра биткоин 0.11 делает, и он поддерживает добычи.

Хранение хэша chainstate в блоки имеет другие преимущества, например, возможность пропуска обработки исторических кварталов целиком, если вы готовы доверять Шахтер большинства посвятить себя правильным. Тем не менее, она приходит в очень значительных затрат для проверки, так как этот хэш должен быть пересчитан и проверен записи внутри каждого блока.

+674
Shader 15 окт. 2020 г., 16:41:08

Одним из способов достижения этой цели является с помощью команды grep, например,

команда grep "^[^#]* в файле, производство ".файл conf || скрипт.доб

Часть за || выполняется только если до этого не существует с выхода код 0, а команда grep имеет код выхода 0, только если она находит свой шаблон (первый аргумент).

Я выбрала простой узор "^[^#]* в производстве ". Символ ^ означает начало строки, [^#] означает любой символ, кроме # А квантификатор * говорит, что не может быть любое их количество. Остальные картины-это просто текст, который вы ожидали бы отметить режим производства.

Для того, чтобы избежать всех выходных команда grep производит, вы можете отправить его в /dev/нуль:

команда grep "^[^#]* в файле, производство ".конф > /dev/нуль || скрипт файл.доб

Если вы хотите напечатать сообщение, если вы находитесь в рабочем режиме и скрипт не выполняется, вы могли бы сделать

команда grep "^[^#]* в файле, производство ".в conf > /dev/нуль && \
 эхо "мы находимся в режиме производства. Скрипт не был запущен". || \
 файл скрипта.доб
+645
p1r0 24 апр. 2018 г., 23:59:56

Вы можете использовать команду apt-rdepends , чтобы найти все пакеты, которые были установлены (мета пакет) подсказка-рабочий стол и использовать список в качестве входных данных apt-получить продувки. Возможно, продувки к kdelibs* должно быть достаточно.

Другая возможность состоит в том, чтобы удалить интервала QT (т. е. libqt4*), начиная с KDE Ист зависит от Qt, это будет удалить все пакеты KDE. Однако, это не очень хорошо работать, если другие приложения Qt используется на другом рабочем столе.

Однако, в любом случае, проверять пакеты, apt-получить хочет удалить очень тщательно, поскольку потенциально вся установка может быть напутал что-то вроде этого.

+558
Alexlotl 17 дек. 2015 г., 04:34:59

screenshot

Есть ли возможность блокировать загрузки приложений из магазина Google играть через WiFi? Я пробовал все шаги, как

  • Очистить данные кэша из приложения андроид
  • Удалить аккаунт Google и воссоздал его
  • Сброс на заводские настройки
  • Устройство перезагрузка.

Я уверяю, что проблема не с устройством. Это иметь много памяти, поэтому его не ошибка. И приложения могут быть загружены в мобильных данных. Я последовал шаги, которые предоставляются в беде разделе стрельба на "495". Но не повезло. Кто-нибудь дать мне четкое представление, почему приложения не могут загружать только через WiFi?

+550
Amit Aswal 1 сент. 2014 г., 13:23:26

Windows 7 требуется минимум процессор 1000 МГц, 1 ГБ оперативной памяти, в то время как Ubuntu требует как минимум процессор 700 МГц с 384 МБ оперативной памяти. Хотя это официальные требования, на практике, требования существенно выше. Из моего опыта, если установить обе операционные системы на идентичные аппаратные средства, производительность Ubuntu в значительно выше, чем в Windows 7. В самом деле, если вы были, чтобы вытащить 7-летнего компьютера от мусора, Убунту будет работать безупречно. Кроме того, время загрузки Ubuntu-это значительно меньше, чем ее Windows 7 коллегой.

+493
Anthony Panozzo 22 сент. 2018 г., 03:18:56

Я с помощью Oracle VirtualBox запустить несколько виртуальных машин на моем MacBook, и я не могу использовать трекпад на "два пальца" на предыдущей странице под Win 7.

Я предполагаю, что это проблема водителя.

Так как мой мак никогда не пришел с компакт-диска, или что-нибудь еще, где я могу скачать Win7 драйвера, что позволит мне правильно "салфетки" под Win7?

(Водители OracleBox в настоящее время поддерживает два пальца прокрутки, но не "вернуться" макро в IE)

+367
Abdirshid Jamac Boos 14 апр. 2010 г., 15:49:19

У меня есть текстовый файл, в котором есть одно слово в каждой строке и я хотел бы сделать биграмм и счетчик повторений (статистика) каждой биграммы.

Мой подход:

кошка TEXTEN1.txt | тр '*\п' '*? *\п'

Я хочу сделать две колонки, но это решение не выполняется.

+328
user8435 2 июл. 2015 г., 09:14:38

У меня есть скрипт, который отправляет письмо на группу sysadmin, когда сервер включен или выключен. Сообщение содержит дамп некоторые важные журналы как в/var/журнал/сообщения, в/var/журнал/надежности, /ВАР/лог/загрузки.журнал . В каталоге/var/журнал/загрузки.журнал содержит несколько специальных символов, который при отправке по электронной почте выглядит искаженным, так как он содержит некоторые специальные символы форматирования для раскраски и закладки. Как мне удалить эти специальные символы, чтобы сделать его читаемым?

Я знаю, что я могу использовать sed для удаления символов, но я ищу простое и элегантное решение.

каталоге/var/журнал/загрузки.журнал состоит из CentOS 6.х)

Вот дамп моего в/var/журнал/загрузки/.журнал:

[корень@бродяга ~]# кошка -в каталоге /var/журнал/загрузки.журнал 
^[%Г Добро пожаловать ^[[0;36mCentOS^[[0;39м ^м
Начиная в udev: ^[%г^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Настройка узла бродяга: ^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Настройка управления логическими томами: 5 логического тома(ов) в группе томов "vgdynamic" сейчас активно^м
 3 логических Тома(ов) в группе томов "vgstatic" сейчас активно^м
^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Проверка файловых систем^м
/Дев/маппер/vgstatic-lvroot: чистый, 8102/884736 файлов, 175959/3537920 блоков^м
на /dev/sda1, поскольку: чистый, 44/32768 файлов, 17226/131072 блоков^м
/Дев/маппер/vgdynamic-lvhome: чистый, 10280/196608 файлов, 74141/786432 блоков^м
/Дев/маппер/vgdynamic-lvopt: чистый, 932/655360 файлов, 104046/2620416 блоков^м
/Дев/маппер/vgstatic-lvtmp: чистый, файлы 12/131072, 25386/524288 блоков^м
/Дев/маппер/vgstatic-lvusr: чистый, 41785/262144 файлов, 236524/1048576 блоков^м
/Дев/маппер/vgdynamic-lvvar: чистый, 1989/393216 файлов, 93057/1572864 блоков^м
/Дев/маппер/vgdynamic-lvvarlog: чистый, 55/49152 файлов, 8030/196608 блоков^м
/Дев/маппер/vgdynamic-lvaudit: чистый, 14/65536 файлов, 73366/262144 блоков^м
^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Перемонтирование корневой файловой системы в режим чтения-записи: ^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Монтирование локальных файловых систем: ^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Включение /свопы и т. д./fstab строчку: ^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Входя в неинтерактивном запуске^м
Вызов системного действия сборщика данных (САДК)... ^м
Начиная наблюдения за ВГ vgdynamic: 5 логического тома(ов) в группе томов "vgdynamic" мониторинг^м
^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Начиная наблюдения за vgstatic ВГ: 3 тома(ов) в группе томов "vgstatic" мониторинг^м
^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Воспитание петлевого интерфейса: ^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Запуск интерфейса eth0: ^м
Определения информация IP для eth0... сделал.^М
^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Начиная демонов auditd: ^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Система пуска регистратора: ^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Начиная lwsmd: ^[[60г[^[[0;32м ОК ^[[0;39м]^м^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Монтирование файловых систем: ^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Если не в udev событий^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
При запуске в VirtualBox дополнения гостевой ОС ^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Начиная VirtualBox гость также обслуживание ^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Начиная накопитель sshd: ^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Начиная нтпд: ^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Начиная crond: ^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
Начиная АТД: ^[[60г[^[[0;32м ОК ^[[0;39м]^м^м
[корень@бродяга ~]# 
+235
epgrape 30 янв. 2016 г., 07:30:53

Я пытаюсь настроить прозрачный Брандмауэр, используя ArchLinux.

Моя установка выглядит так:

(ПРОВАЙДЕРОМ IP: 10.90.10.254)
\
\
 \ (для eth0-> IP-адрес: шлюз 10.90.10.1: 10.90.10.254)
+-----------+
 | |
 | ПК |
 |(сервере)|
+-----------+
 \ (на eth1-> IP-адрес: 10.90.10.100)
\
\
 (10.90.10.101)\ | (беспроводные сети-> IP-диапазоном: 10.90.10.102-)
+-------+
 |Маршрутизатора |
+-------+

Мой маршрутизатор не имеет возможности межсетевого экрана, поэтому мне нужно сбросить брандмауэр между маршрутизатором и мой провайдер.

+230
Daniil Severov 29 июл. 2022 г., 03:13:08

Я использую iMac с целевой режим отображения от Макбук Про. Иногда, когда я включить режим внешнего дисплея, имак экран остается черным, даже если на экране моего MacBook Pro и предполагает, что другой монитор был подключен (приложения отойти от экрана).

Как я могу это исправить?

+214
wentron 6 авг. 2014 г., 04:50:58

Как вам уже сообщил Гленн Джекман в комментариях:

СЭД читает это ввод по одной строке за раз, так что если вы делаете некоторые Программирование накопить линии, там не будет ни строки, чтобы матч

Вы можете нажать на GNU СЕПГ лечить весь файл как одну строку с вариант

-Зет, --нулевое данных

 отдельные строки на символ Nul

Так что вы можете попробовать

СЭД -з 'с/>[[:пробел:]]*<по умолчанию>ложь/ХХХ/'
+82
Munteanu Doru 20 июн. 2023 г., 05:56:37

Почему ваши сборки не будет, потому что сделать это с помощью компоновщика вашей платформы(/usr/Бен/ЛД) для связывания объектные файлы, которые АРМ-ОС Linux-androideabi-GCC производит. Нужно сказать настроить, чтобы искать правильные инструменты, повторите попытку компиляции. Вы должны также иметь и NDK, где-то установлен, и точки NDK_ROOT в это место. Вот небольшой скрипт я использую, чтобы получить программы для компиляции на целевой платформе Android.

Я понимаю, что это довольно поздний ответ, но, надеюсь, это помогает кому-то все равно.

#!/бин/Баш
витруальная CFLG CXXFLG библиотеки с CFLAGS CXXFLAGS LDFLAGS добейтесь того SYSROOT ALT_TOOLCHAIN DO_CONFIG NEWARGV PRINT_CONFIG HOSTARG Ы NOHOST NO_ARGS 

Набор # значения по умолчанию здесь
Стл="gnustl_shared"
Арка=архитектуре"armeabi-v7a"
Платформа="андроид-15"
Хост="руки-не-Линукс"
CONFIG_SCRIPT="./настроить"
CROSS_COMPILE="АРМ-ОС Linux-androideabi"
NDK_ROOT=${NDK_ROOT:-"/опт/андроид-НДК-r10e"}


PLAT_CHOICES=$(эвал "Эхо -Н андроид-{3,4,5,8,9,{12 19..},21}")
ARCH_CHOICES="рука норм норм-v7a норм-v7a-жесткий"
STL_CHOICES=$(эвал "Эхо -Н gnustl_{статическая,общий} stlport_{статическая,общий} Габи++_{статическая,Общий} в C++_{статическая,общий"})
STL_DEFS="gnustl ее Габи++ и C++ с libstdc++"
Предупредить="-Wformat -Werror=формат-безопасности -Werror"
ПОС="-спосил -рейтинг"
DEF_ARCH=$АРКУ
СЭД="СЭД"


использование() {
 Эхо "использование: "
 Эхо -н " `и basename $0` [-Nhwe]"
 Эхо "[-H хост] [-я] [-Д деф] [-у фдоон] [-л переменные libdir]"
 функции printf '%-18С \\Н' 
 "[-л Либ] [-с conf_args] [-в gccver] [-арку] [-б путь]" \
 "[-п платформы] [-с cxx_stl] [-скрипт F] [-П префикс]" \
 "[-Н nohost] [-д оператор chdir] [-t цель] [-х crossprefix]" \
 "[Переменная=значение...] [--<настройки-параметр>...] "
Эхо
 Эхо "Примечание: все необработанные аргументы передаются в скрипт configure"
Эхо
 Эхо "варианты:"
 функции printf '%ы, %-18С %з\п' "-это" "--арка" "указания целевого арки (см. Примечание 2)"
 функции printf '%ы, %-18С %з\п' "-б" "--набор инструментов-бин" "указать расположение альтернативный набор инструментов для добавления к \$путь"
 функции printf '%ы, %-18С %з\п' "-с" "--конфиг-аргументы" "аргументы так, чтобы настроить скрипт, чтобы избежать конфликтов с парсером этого скрипта арг. (см. Примечание 2)"
 функции printf '%ы, %-18С %з\п' "-г" "--возможно," каталог", чтобы изменить, прежде чем делать что-либо"
 функции printf '%ы, %-18С %з\п' "-г" "--определить" "список символов, либо как -dname в=значение, или -Вимя, чтобы быть добавлены к CFLAGS-Д.<символов> (см. Примечание 2)"
 функции printf '%ы, %-18С %з\п' "-е" "--эхо" "печать настроить аргументы, а не выполнение команды"
 функции printf '%ы, %-18С %з\п' "-ф" "--config-скрипт" "имя настроить скрипт для выполнения"
 функции printf '%ы, %-18С %з\п' "-ч" "у" "показать справку"
 функции printf '%ы, %-18С %з\п' "-ч" "--хозяин" "использование альтернативного узла для настройки скрипта"
 функции printf '%ы, %-18С %з\п' "я" "- включить" "список каталогов для добавления к CFLAGS а -я<каталог> (см. Примечание 2)"
 функции printf '%ы, %-18С %з\п' "-л" "--библиотеки" "список библиотек, чтобы добавить к ldflags а -л<либерал> (см. Примечание 2)"
 функции printf '%ы, %-18С %з\п' "-л" "--переменные libdir" "список каталогов для добавления в ldflags а -л<каталог> (см. Примечание 2)"
 функции printf '%ы, %-18С %з\п' "-н" "--nohost" "опустить --host=<хост> вариант, когда вторя команд или позвонив настроить"
 функции printf '%ы, %-18С %з\п' "-н" "--noargs" "пропустить все ... варианты, откликаясь на команды"
 с printf '%ы, %-18С %з\п' "-р" "--" платформа "указать платформу Android до цели. может быть <андроид-N> или просто <N>, где N-это уровень API"
 функции printf '%ы, %-18С %з\п' "-р" "--префикс" ", укажите префикс установки. прошли настроить как --prefix=<префикс>"
 функции printf '%ы, %-18С %з\п' "-с" "--стл" "задайте стандарт C++ lib для использования (см. Примечание 3)"
 функции printf '%ы, %-18С %з\п' "-т" "--цель", "указать цель для компиляции на этот вариант, а не ... хозяина; например, цель --=--выпускает строить=<хост>"
 функции printf '%ы, %-18С %з\п' "-у" "--сбросить" "список символов для определения, добавил, добейтесь того как -у<символов> (см. Примечание 2)"
 функции printf '%ы, %-18С %з\п' "-V" и "--gccversion" "указать версию GCC для использования при ориентации на Андроид НДК. должно быть 4.8 или 4.9"
 функции printf '%ы, %-18С %з\п' "-з" "--предупредить" "добавить предупреждение компилятора флаги к CFLAGS"
 функции printf '%ы, %-18С %з\п' "-х" "--crossprefix" "префикс, используемый при составлении крест. по умолчанию = АРМ-ОС Linux-androideabi"
 функции printf '%-22С %з\п' "--с CFLAGS" "флаги должны быть добавлены непосредственно к CFLAGS переменной"
 функции printf '%-22С %з\п' "--ldflags" "флаги должны быть добавлены непосредственно к LDFLAGS переменной"
 функции printf '%-22С %з\п' "--cxxflags" "флаги должны быть добавлены непосредственно к CXXFLAGS переменной"
 функции printf '%-22С %з\п' "--добейтесь того," "флаги должны быть добавлены непосредственно к добейтесь того, переменная"
 функции printf '%-22С %з\п' "--sysroot" "изменить sysroot компилятор, добавил в CC и CXX как-sysroot=<арг>"
 функции printf '%-22С %з\п' "--ріс" "добавить -спос -рейтинг к CFLAGS"
Эхо
 функции printf '%-38С\п' "Примечание 1:Режим может быть одним из следующих: <норм,норм-v7a норм-v7a-жесткого>" 
 функции printf '%-38С\н' "и может быть abbriviated как: <рычаг, норм, языка, armv7a [-] жесткий архитектуры ARMv7-а [жесткий] норм-v7a [жесткий]>"
 функции printf '%-38С\п' "примечание 2:Эти параметры позволяют несколько аргументов должны быть указаны, либо указав опцию несколько раз," 
 функции printf ' %-38С\Н "или с помощью списка, разделенные ':' , '; ' или ','"
 функции printf '%-38С\п' "Примечание 3:это должно быть одним из <${STD_DEFS}>, чтобы использовать статическую версию, добавить _static," 
 использовать функции printf ' %-38С\н - "в противном случае общая версия. gnustl_shared по умолчанию если этот параметр опущен. "
 функции printf '%-38С\Н' "лицензией GPLv3+: в GNU GPL версии 3 или более поздней <http://gnu.org/licenses/gpl.html>"
 функции printf ' %-38С\н - "это свободное программное обеспечение: вы можете свободно изменять и распространять его."
 функции printf '%-38С\п' "нет никаких гарантий, в той степени, разрешенной законом."
 функции printf ' %-38С\Н - "Авторское право (c) 2015 Мэтт Джонсон"
 выйти $1
}


ошибка() {
 Эхо -Н "[Ошибка]: "2>&1
 а [ "$#" != "0" ]; делать 
 Эхо "$1"
сдвиг
сделано
 использование 1
}

существует() {
 местные аргументы="$@"
 местные not_found=()
 по ARG в ${аргументы}; делать
 местные tmp_res=`${арг} 2>&1 >>/dev/нуль`
 если [ "$?" == "127" ]; тогда
not_found+=("$арг")
еще
 местные прог=`что параметр $ARG`
 если [ -з "$прогрессив" ]; затем
not_found+=("$арг")
еще
 местные имя_программы=$(Эхо $арг|тр '[[:нижняя:]]' '[[:сверху:]]')
 функция eval "${имя_программы}=\${прогр}"
интернет
интернет
сделано
 если [ "${#not_found[@]}" -ГТ "0" ]; затем
 местные отсутствует="${not_found[@]}"
 ошибка "не удается найти эти нужную программу(ы): [ $отсутствует ]" ", убедитесь, что они установлены перед повторным запуском скрипта"
интернет
}

существует СЭД грэп использования getopt выражение mktemp

set_toolchain() {
 TC_BIN="$1"; сдвиг
TC_ROOT="$TC_BIN/.."
 если [ -Х "$TC_BIN/$CROSS_COMPILE-НКУ" ]; затем
ALT_TOOLCHAIN="$TC_BIN"
 сбросить TC_BIN
еще
 ошибка "неверный набор инструментов, указанный в $TC_BIN".
интернет
}

in_list() {
 местные к=$1; сдвиг
 местные _list=$@
 для _в в ${_list}; делать
 если [ "${_в}" == "${к}" ]; затем
 возвращает 0
интернет
сделано
 возвращение 1
}

set_platform() {
 локальных API=$(${выражение} "$1" : '^[^0-9]*\([[:цифра:]]\{1,2\}\)$')
 [ -з "$АПИ" ] && ошибка "недействительный платформа: $1"
 местные плат="андроида-${АПИ}"
 если in_list ${плат} ${PLAT_CHOICES}; тогда
Платформа=${плат}
еще
 ошибка "недействительный платформа: $АПИ"
интернет
}

set_stl() {
 местные выбор=$1
 если [ "$выбор" == "с libstdc++" ]; затем
Стл=$выбор
вернуться
 in_list Элиф $выбора $STL_DEFS ; затем
Стл="${выбор}_shared"
вернуться
 in_list Элиф $выбора $STL_CHOICES ; затем
Стл="${выбор}"
вернуться
интернет
 ошибка "недопустимое значение --стл: $1" "должен быть одним из [ $STL_CHOICES ]"
}

set_arch() {
 местные arch_arg=$1
 дело "$arch_arg" в
руку)
 Арка=рука ;;
норм)
 Арка=норм ;;
armv7a?*|норм-v7a*|ARMv7 С-а*)
 дело "$arch_arg" в
*жесткий)
 Арка=норм-v7a-жесткий ;;
*)
 Арка=норм-v7a ;;
 эсок ;;
языка)
 Арка=норм-v7a-жесткий ;;
*)
 ошибка "недопустимое значение --арки: $1" "должен быть одним из [ $ARCH_CHOICES ]"
эсок
}

add_args() {
 местные ВАР=$1; сдвиг
 локальный параметр args=$@
 список_аргументов=$(Эхо $аргументы | тр ":;" " ")
 ивал ${переменная}+=\" \${список_аргументов}\"
}

add_list() {
 местный пункт=$1 ; сдвиг
 местные ВАР=$1 ; сдвиг
 местные флаг=$1
 inclist=$(Эхо $товар | тр ":;" " ")
 для меня в ${inclist}; делать
 местные _thisflag=`Эхо $я | ${седьмого} -е -е"/^[ -]?${флаг}?(.*)/-${флаг}\1/"`
 ивал ${переменная}+=\" \${_thisflag}\"
 сделано 
}



EXARGS=$(mktemp --никакое сжатие=/tmp в агду-ХХХХХ.ТМП)
LONGOPTS="help,noargs,nohost,warn,echo,pic,script:,crossprefix:,chdir:,target:,toolchain-bin:,prefix:,host:,stl:,arch:,platform:,gccversion:,config-args:,libdir:,cflags:,ldflags:,libs:,cxxflags:,cppflags:,include:,sysroot:,define:,undefine:"
OPTSTR="NhwenH:я:Д:У:Л:Л:С:в:м:в:п:с:ф:п:б:д:т:х:"
Использования getopt=`что дальнейшего сжатия`
Темп=`${использования getopt} --longoptions ${LONGOPTS} --параметры ${OPTSTR} -Н НДК-исправит ... "$ @ " 2>${EXARGS}`
в то время как читать линии; делать
 дело "$Line" в
*нераспознанный*)
 вариант=$(Эхо $строки | ${седьмого} -р-е "/^.+ '(--[^']+)'$/\1/")
 add_args вариант "NEWARGV" "$"
;;
*)
 opt_char=$(Эхо $строки | ${седьмого} -р-е "/^.+ '([^'])'$/-\1/")
 Эхо "[предупреждение]: игнорирование поврежденных короткий вариант -- '$opt_char'"
;;
эсок
сделано<$EXARGS
снятие opt_char вариант 
РМ $EXARGS
ивала набор -- "$ТЭМП"
пока правда; сделать
 дело "$1" в
-ч|--помощь)
использование
;;
-з|--предупреждаю)
 CFLG+=" $ПРЕДУПРЕЖДАТЬ"
 CXXFLG+=" $ПРЕДУПРЕЖДАТЬ" 
;;
--рис)
 add_args "CFLG" "$пик"
 add_args "CXXFLG" "$пик" 
;;
-Ч|--хозяин)
 Хост="$2" ; сдвиг 
;;
-Н|--noargs)
NO_ARGS=1
;;
-Т|--цель)
 HOSTARG="--$(${ВЫРАЖЕНИЕ} "2$" : "^-\?-\?\(.\+\)\$")" ; сдвиг
;;
-д|--оператор chdir)
Ы=$(фрд)
 компакт-диск 2$; сдвиг
;;
-э|--Эхо)
 PRINT_CONFIG=1 
;;
-Н|--nohost)
NOHOST=1
;;
-Ф|--скрипт)
CONFIG_SCRIPT="$2"
 DO_CONFIG=1 ; сдвиг 
;;
-П|--префикс)
 add_args "NEWARGV" "--префикс=$2" ; сдвиг
;;
-х|--crossprefix)
 CROSS_COMPILE="$2" ; сдвиг 
;;
-б|--набор инструментов-ОГРН)
 set_toolchain "$2" ; сдвиг 
;;
-с|--стл)
 set_stl "$2" ; сдвиг 
;;
-а|--арка)
 set_arch "$2" ; сдвиг 
;;
-платформа P|--)
 set_platform "$2" ; сдвиг 
;;
-с|--настройка-аргументы)
 add_args "NEWARGV" "$2" ; сдвиг 
;;
-Я|--включить)
 add_list "$2" "CFLG" "я" ; сдвиг 
;;
-Л|--переменные libdir)
 add_list "$2" "библиотеки" "л" ; сдвиг 
;;
-Д|--определение)
 add_list "$2" "CFLG" "Д" ; сдвиг 
;;
-л|--либы)
 add_list "$2" "библиотеки" "л" ; сдвиг 
;;
-У|--отменить)
 add_list "$2" "CFLG" "у" ; сдвиг 
;;
--с CFLAGS)
 add_args "CFLG" "$2" ; сдвиг 
;;
--ldflags)
 add_args "библиотеки" "2$" ; сдвиг 
;;
--добейтесь того)
 add_args "добейтесь того" "$2" ; сдвиг
;;
--cxxflags)
 add_args "CXXFLG" "$2" ; сдвиг 
;;
--sysroot)
 SYSROOT=$1 ; сдвиг 
;;
-в|--gccversion)
 если [ "$2" == "4.9" ] || [ "$2" == "4.8" ]; тогда
TCVER="$2"
еще
 Эхо "недопустимый аргумент -V или --gccversion: <2$>"
 эхо "должно быть 4.8 или 4.9. недобросовестный до 4,8"
TCVER="4.8"
интернет
 сдвиг 
;;
--)
 смены ; перерыв 
;;
*)
 эхо "не должна была быть здесь".
 Эхо "ошибка в разборе аргументов -- неожиданный аргумент нашли до конца аргументы: $1"
использование
отделка
;;
эсок
сдвиг
сделано

TCVER=${TCVER:-4.8}
CXXVER=${TCVER:-4.8}


если [ -з "$ALT_TOOLCHAIN" ]; затем
 НДК=${NDK_ROOT}/наборы инструментов/АРМ-ОС Linux-androideabi-${TCVER}/готовый/в Linux-$(uname-м)/ОГРН
SYSROOT=${SYSROOT:-${NDK_ROOT}/платформы/${Платформа}/арка-дуга}
еще
НДК="$ALT_TOOLCHAIN"
SYSROOT=${SYSROOT:-/опт/sysroot}
интернет

если [ -з "$NOHOST" ]; затем
HOSTARG=${HOSTARG:---хозяин=$рать}
интернет

объявить-cxxflag
cxxflag[норм]="-не-канонично-префиксы -март=armv5te -mtune=XScale с тактовой частотой -мсофт-флоат -frtti -fexceptions -О2 -г -DNDEBUG -fomit-рамка-указатель -DANDROID "
cxxflag[норм-v7a]="-не-канонической-префиксы в-March=ARMv7 С-а-МФПУ=vfpv3-Д16 -mfloat-аналитического агентства ABI=softfp -frtti -fexceptions -О2 -г -DNDEBUG -fomit-рамка-указатель -DANDROID "
cxxflag[норм-v7a-жесткий]="-не-канонической-префиксы в-March=ARMv7 С-а-МФПУ=vfpv3-Д16 -mhard-float и D_NDK_MATH_NO_SOFTFP=1 -frtti -fexceptions -О2 -г -DNDEBUG -fomit-рамка-указатель -DANDROID "
cxxflag[руку]=" -DANDROID -mandroid -fomit-рамка-указатель"

объявить-cflag
cflag[руку]=" -DANDROID -mandroid -fomit-рамка-указатель"
cflag[норм]="-не-канонично-префиксы -март=armv5te -мсофт-флоат -О2 -г -DNDEBUG -fomit-рамка-указатель -DANDROID "
cflag[норм-v7a]="-не-канонической-префиксы в-March=ARMv7 С-а-МФПУ=vfpv3-Д16 -mfloat-аналитического агентства ABI=softfp -О2 -г -DNDEBUG -fomit-рамка-указатель -DANDROID "
cflag[норм-v7a-жесткий]="-не-канонической-префиксы в-March=ARMv7 С-а-МФПУ=vfpv3-Д16 -mhard-float и D_NDK_MATH_NO_SOFTFP=1 -О2 -г -DNDEBUG -fomit-рамка-указатель -DANDROID "

объявить-cxxinclude
cxxinclude[gnustl]="-я${NDK_ROOT}/источники/схх-стл/с GNU-libstdc++в/${TCVER}/включить-я${NDK_ROOT}/источники/схх-стл/с GNU-libstdc++в/${TCVER}/библиотеки/${арка}/включить-я${NDK_ROOT}/источники/схх-стл/с GNU-libstdc++в/${TCVER}/включить/назад"
cxxinclude[ее]="-я${NDK_ROOT}/источники/схх-стл/ее/ее -я${NDK_ROOT}/источники/схх-стл/Габи++/включить"
cxxinclude[stdc++]="-я${NDK_ROOT}/источники/схх-стл/системы/включения"
cxxinclude[Габи++]="-я${NDK_ROOT}/источники/схх-стл/Габи++/includexx/включить-я${NDK_ROOT}/источники/схх-стл/кода LLVM-библиотеки libc++Аби/libcxxabi/включить"
cxxinclude[с++]="-я${NDK_ROOT}/источники/схх-стл/инфраструктура LLVM-библиотеки libc++/libcxx/включить"

объявить-cxxlib
cxxlib[gnustl]="-л${NDK_ROOT}/источники/схх-стл/с GNU-libstdc++в/${TCVER}/библиотеки/${арка}"
cxxlib[Габи++]="-л${NDK_ROOT}/источники/схх-стл/Габи++/библиотеки/${арка}"
cxxlib[ее]="-л${NDK_ROOT}/источники/схх-стл/ее/библиотеки/${арка}"
cxxlib[stdc++]=" "
cxxlib[с++]="-Л${NDK_ROOT}/источники/схх-стл/инфраструктура LLVM-библиотеки libc++/библиотеки/${арка}"

объявить-ldflag
ldflag[руку]="-lgcc -ЛНР -лм -спосил"
ldflag[норм]="-спосил -не-канонично-префиксы -от WL,--не определен -от WL,-Z,то noexecstack -lgcc -ЛНР -лм"
ldflag[норм-v7a]="-спосил -lgcc -не-канонической-префиксы в-March=ARMv7 С-В -от WL,--исправить-Cortex-А8 -от WL,--не определен -от WL,-Z,то noexecstack -ЛНР -лм"
ldflag[норм-v7a-жесткий]="-спосил -lgcc -не-канонической-префиксы в-March=ARMv7 С-а-от WL,--исправить-Cortex-А8 -от WL,--нет-предупреждаю-несоответствие -lm_hard -от WL,--не определен -от WL,-Z,то noexecstack -ЛНР -лм"

ПЕРЕМЕННЫЕ CPPFLAGS+=" ${CFLG}"
CFLG+=" ${cflag[${арка}]}"
STL_BASE=${стл%_shared}
STL_BASE=${STL_BASE%_static}
CXXFLG+=" ${cxxflag[${арка}]} ${cxxinclude[${STL_BASE}]} ${cxxlib[${STL_BASE}]} -л${стл}"


Чч="${CROSS_COMPILE}-ССЗ --sysroot=${SYSROOT}"
СХХ="${CROSS_COMPILE}-г++ --sysroot=${SYSROOT}"
АР="${CROSS_COMPILE}-АР"
ЛД="${CROSS_COMPILE}-ЛД"
Нм="${CROSS_COMPILE}-Нм"
СРР="${ЧЧ} -Е"
Полосы="${CROSS_COMPILE}-прокладки --прокладки-ненужные"
OBJDUMP="${CROSS_COMPILE}-objdump"
RANLIB="${CROSS_COMPILE}-ranlib"
Каталог libs+=" ${ldflag[${арка}]}"

печать() {
_str="$@"
 Эхо "$_str"
 Эхо "$_str" >>$вход
}


Журнал=$ФРД/готовим.журнал
Эхо "готовит исходные файлы для компиляции на $рать..." >$вход

edit_line() {
 регулярное выражение=`Эхо $1`; сдвиг
 rfile=$1; сдвиг
 СЕПГ -я -Р-Е "$регулярное выражение" $rfile 2>>$войти 1>>$вход
}

отделка() {
 если [ ! -з "$ы" ]; затем
 компакт-диск $Ы
интернет
 выход 0
}

fix_makefile() {
mkfile=$1
 СР $mkfile $mkfile.бак
 HAS_CC=$(${GREP В} -Е '^ЧЧ[ ]?=.*' $mkfile)
 если [ "${HAS_CC}Х" == "Х" ]; затем
 Строка=$(${например} -Н-Е '^[^#]+' $mkfile | руководитель -Н 1 | ${grep в} -О-Е '^[0-9]+')
 ${Седьмого} -я -Р-Е "$линия МУС= " $mkfile
интернет
 edit_line "с:^(СС\ы?=\ы?).*:\1 ${чч} :" $mkfile
 edit_line "с:^(АР\с?=\с?)[^ ]*:\1 ${АР} :" $mkfile
 edit_line "с:^(с CFLAGS|параметра ccopt)(\ы?=\ы?):\1\2 ${CFLG} :" $mkfile
 edit_line "с:^(LDFLAGS\с?=\ы?):\1 ${слова} :" $mkfile
 edit_line "с:^(RANLIB\с?=\ы?).*:\1 ${RANLIB} :" $mkfile
 edit_line "с:^(СХХ\с?=\ы?).*:\1 ${СХХ} :" $mkfile
 edit_line "с:^(ЛД\с?=\с?)[^ ]*:\1 ${ЛД} :" $mkfile
 edit_line "с:^(OBJDUMP\с?=\с?)[^ ]*:\1 ${OBJDUMP} :" $mkfile
 edit_line "с:^(Нм\с?=\с?)[^ ]*:\1 ${нм} :" $mkfile
 edit_line "с:^(OBJDUMP\с?=\ы?).*:\1 ${полоса} :" $mkfile
 edit_line "с:^(КБП\с?=\с?)[^ ]*:\1 ${СРР} :" $mkfile
}

custom_conf() {
 SUBMK=$(найти . -имя файла Makefile -печать)
 для МК в ${SUBMK}; делать
 отпечатки "исправление в файле Makefile: $МК..."
 печатает "резервной копии, сделанной на: $МК.бак"
 fix_makefile $МК
сделано
}

add_once() {
 если [ -н "$(Эхо $путь | ${grep в} $НДК)" ]; затем
ПУТЬ=${НДК}:${ПУТЬ}
 НДК путь экспорта 
интернет
}



кошка >$(фрд)/env.sh <<ВФ
#!/бин/Баш
НДК=${NDK_ROOT}/наборы инструментов/АРМ-ОС Linux-androideabi-${TCVER}/готовые/Линукс-\$(uname-м)/ОГРН
если [ -з "\$(Эхо \$путь | fgrep \$НДК)" ]; затем
ПУТЬ=\${НДК}:\${ПУТЬ}
 НДК путь экспорта 
интернет
ВФ
env.sh команду chmod 0755 

. env.sh

если [ -н "$PRINT_CONFIG" ]; затем
 если [ -н "$NO_ARGS" ]; затем
 снятие HOSTARG NEWARGV
интернет
 Эхо добейтесь того=\"${добейтесь того,}\" с CFLAGS=\"${CFLG}\" CXXFLAGS=\"${CXXFLG}\" LDFLAGS=\"${слова}\" чч=\"${СС}\" СХХ=\"${СХХ}\" ЛД=\"${ЛД}\" АР=\"${АР}\" RANLIB=\"${RANLIB}\" Нм=\"${Нм}\" ПОЛОСЫ=\"${ПОЛОСА}\" КБП=\"${УПК}\" ${NEWARGV} $@ ${HOSTARG}
отделка
интернет


если [ -Ф "$CONFIG_SCRIPT" ] || [ -Н "$DO_CONFIG" ]; затем
 $CONFIG_SCRIPT ДОБЕЙТЕСЬ ТОГО,="${ДОБЕЙТЕСЬ ТОГО,}" С CFLAGS="${CFLG}" CXXFLAGS="${CXXFLG}" LDFLAGS="${СЛОВА}" УК="${ЧЧ}" СХХ="${СХХ}" ЛД="${ЛД}" АР="${АР}" RANLIB="${RANLIB}" НМ="${НМ}" ГАЗА="${ПОЛОСА}" КПП="${УПК}"$NEWARGV $@ $HOSTARG
 Эхо "убедитесь, что ${НДК} в ваших \$путь перед запуском сделать".
 Эхо "сценарий под названием env.sh был создан в текущем каталоге. Источников он будет убедиться, что toolchain-это в свой путь"
 если [ "$?" != "0" ]; тогда
 Эхо "[ошибка]: не удалось настроить с кодом возврата: $?"
 экспорт добейтесь того,="${добейтесь того,}" с CFLAGS="${CFLG}" CXXFLAGS="${CXXFLG}" LDFLAGS="${слова}" УК="${чч}" СХХ="${СХХ}" ЛД="${ЛД}" АР="${АР}" RANLIB="${RANLIB}" Нм="${Нм}" газа="${полоса}" КПП="${УПК}"

интернет
еще
 принты "не настроить скрипт найден в текущем каталоге: $(фрд)"
 Эхо "введите 'Y' для попытки модифицировать какие-либо файлы в этот каталог, и любую другую клавишу, чтобы прервать..."
 Эхо-N "продолжить?: "
 читать ответ
 если [ "$ANS" в == "г" ]; затем
custom_conf
интернет
интернет
отделка
+35
Lhadalo 21 сент. 2018 г., 18:18:19

Показать вопросы с тегом