From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-3.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.2.5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=Q6v0Ou4PrALYO2ihcPOXENesI6Ws+otJ+DcJ6e8KvQg=; b=eqDeJa9ecsQkR3RpHKr0MFVGhjPSlE6kNB1U5ngjx0TmVfdIFrSNSjAxQBFKF4GJRN yqpogmfZz197atFNAu9CJZICRaGU2IolqLDBKWWEzWZraD1mHV6n3jKu0jNsTX2yTqbM YQ6jMDU63YWiu5AG9ZU6T9MZy1TYBEgGDJrYSzBcL7fzjwH7IOmfDweGd3UfwsK5Udcs KmXf/UpjO8oc9ziASbGRRkukuB0g07IMT6XaYgqr0qR6seyGbDFXw1uFfgK1ggw9+gzT Z97FT9T9h5PrkB7wPnbrddXuSyTjlA99u7z97xpf628DoO6EvgX7gi0ESCahsa5P6H49 fxPQ== X-Received: by 10.14.109.131 with SMTP id s3mr57289186eeg.26.1367085079306; Sat, 27 Apr 2013 10:51:19 -0700 (PDT) Message-ID: <517C1015.9040000@gmail.com> Date: Sat, 27 Apr 2013 20:51:17 +0300 From: Viacheslav Dubrovskyi User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130306 Thunderbird/17.0.3 MIME-Version: 1.0 To: devel@lists.altlinux.org References: <517A2B71.3050703@kemsu.ru> <20130427214541.079b13f7@deimos.localdomain> In-Reply-To: <20130427214541.079b13f7@deimos.localdomain> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: Re: [devel] Circular link for libraries X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Apr 2013 17:51:26 -0000 Archived-At: List-Archive: List-Post: 27.04.2013 20:45, Ivan A. Melnikov пишет: > On Fri, 26 Apr 2013 14:23:29 +0700 > REAL wrote: > >> Привет! >> >> Есть проект на CMake, там необходимо выполнить взаимолинковку пары >> библиотек, типа такого: >> >> target_link_libraries(foo bar) >> target_link_libraries(bar foo) >> >> cmake на это резонно ругается, но без таких взаимолинковок сборка не >> проходит в части verify-elf. Есть какой-нибудь трюк, чтобы это >> заработало? В autotools такие вещи делались довольно просто. > Не расскажите, как? А то я не представляю себе, как можно слинковаться > с библиотекой, которой ещё нет. Недавно патчил pacemaker на эту тему. Вот тут собирается libcib которая должна линковться с libpe. И на оборот. Добавляем дополнительное правило. При этом собирается libpe и с ней линкуется libcib. Потом, когда доходит очередь до неё, она перелинкуется опять с ранее собранной либой. libcib_la_LDFLAGS = -version-info 3:0:0 -L$(top_builddir)/lib/pengine/.libs libcib_la_LIBADD = $(CRYPTOLIB) $(top_builddir)/lib/pengine/libpe_rules.la $(top_builddir)/lib/common/libcrmcommon.la libcib_la_CFLAGS = -I$(top_srcdir) libcib_la_DEPENDENCIES = libpe_rules libpe_rules: make -C ../../lib/pengine libpe_rules.la Вообщем как выяснилось это по сути плохо, т.к. возникает резонный вопрос: - а зачем выделять тогда либы? -- WBR, Viacheslav Dubrovskyi