Fatti:
A.
Con pubblicazione sul Foglio ufficiale del Cantone Ticino, il Municipio di X._ ha indetto un concorso, regolato dalla legge sulle commesse pubbliche del 20 febbraio 2001 (LCPubb/TI; RL/TI 7.1.4.1) ed impostato secondo la procedura libera, per l'aggiudicazione del servizio di ritiro e smaltimento degli scarti vegetali per gli anni 2017, 2018 e 2019. Il bando prevedeva che la commessa sarebbe stata aggiudicata tenendo conto dei seguenti criteri e fattori di ponderazione: 1. prezzo 50 %; 2. sede dell'impianto 45 %; 3. formazione apprendisti 5 %.
Bando e capitolato fissavano inoltre i criteri d'idoneità precisando che erano abilitate a concorrere le ditte che " (1) hanno la sede in Ticino, iscritta alla scadenza della gara d'appalto, da almeno 2 anni, nel registro di commercio nel ramo della gestione di impianti di compostaggio e (2) sono inserite nella lista degli impianti di compostaggio attivi e riconosciuti in Ticino, elaborata dal Dipartimento del territorio". Il bando e le prescrizioni del capitolato, precisate con scritto 7 giugno 2016, non sono stati oggetto di impugnazione.
B.
Entro il termine impartito, il Comune di X._ ha ricevuto tre offerte tra cui quella della B._ SA, di fr. 308'448.--, e quella della A._ SA, di fr. 326'592.--. Proceduto alle necessarie valutazioni, con risoluzione del 23 novembre 2016 il Municipio del Comune di X._ ha aggiudicato la commessa alla B._ SA, giunta prima in graduatoria con 5.85 punti.
Contro la predetta decisione la A._ SA, seconda classificata con 4.66 punti, è insorta davanti al Tribunale cantonale amministrativo, il quale, con sentenza del 20 aprile 2017, ha respinto il gravame.
C.
Mediante ricorso in materia di diritto pubblico e, in subordine, ricorso sussidiario in materia costituzionale del 24 maggio 2017, la A._ SA domanda, in riforma del giudizio della Corte cantonale, che l'originaria delibera sia annullata, che l'offerta giunta prima in graduatoria venga scartata e che le venga attribuita la commessa. Con il rimedio ordinario, l'insorgente sostiene che il giudizio impugnato sia arbitrario (art. 9 Cost.) e si traduca in un diniego di giustizia formale (art. 29 Cost.), nella violazione del principio di parità di trattamento dei partecipanti ad un concorso (art. 8 Cost.), della buona fede (art. 9 Cost.) e della concorrenza efficace tra gli offerenti (art. 27 Cost.). Con il rimedio sussidiario, fa invece valere una lesione del divieto d'arbitrio (art. 9 Cost.) del principio di parità di trattamento (art. 8 Cost.), della buona fede (art. 9 Cost.) e della concorrenza efficace (art. 27 Cost.).
Il Tribunale cantonale amministrativo, l'opponente e il committente hanno chiesto che i ricorsi, per quanto ammissibili, siano respinti. Nessuna osservazione è per contro giunta dall'Ufficio dei lavori sussidiati e degli appalti. Con decreto del 23 giugno 2017 è stato parzialmente concesso l'effetto sospensivo al ricorso, nel senso che il committente e l'opponente sono stati autorizzati a concludere un contratto valido solo fino alla pronuncia del Tribunale federale.
Diritto:
1.
1.1. La querelata decisione concerne una commessa pubblica. In primo luogo, occorrerebbe pertanto verificare se l'impugnativa sia ricevibile come ricorso in materia di diritto pubblico oppure se - giusta l'art. 83 lett. f LTF - l'inoltro di tale rimedio sia escluso. La questione può tuttavia restare irrisolta. In effetti, le censure formulate mirano tutte a denunciare la violazione di diritti costituzionali ai sensi dell'art. 106 cpv. 2 rispettivamente dell'art. 116 LTF, ovvero critiche che possono essere presentate sia col ricorso ordinario che con quello sussidiario.
1.2. Le rimanenti condizioni d'ammissibilità previste dalla legge sul Tribunale federale sono adempiute. Oltre alla tempestività (art. 100 cpv. 1 e 117 LTF), data è in particolare anche la legittimazione dell'insorgente, giunta seconda in graduatoria, a ricorrere contro l'aggiudicazione dell'appalto all'opponente (art. 89 cpv. 1 e 115 LTF; DTF 141 II 14 consid. 4.1 pag. 27).
2.
2.1. Il Tribunale federale esamina le violazioni dei diritti fondamentali soltanto se il ricorrente motiva le sue censure (art. 106 cpv. 2 e 117 LTF); chi insorge deve indicare in modo chiaro i diritti violati e in cosa consista la lesione (DTF 136 I 229 consid. 4.1 pag. 235; 134 II 244 consid. 2.2 pag. 246). Nel caso faccia valere una violazione del divieto d'arbitrio, deve in particolare spiegare perché la decisione impugnata sia manifestamente insostenibile, gravemente lesiva di una norma o di un principio giuridico indiscusso, oppure in contraddizione urtante con il sentimento di giustizia ed equità (DTF 133 III 393 consid. 6 pag. 397; 129 I 8 consid. 2.1 pag. 9).
2.2. I fatti che risultano dal giudizio impugnato sono di principio vincolanti (art. 105 cpv. 1 e 118 cpv. 1 LTF). Qualora il ricorrente ritenga che siano stati accertati in violazione di diritti costituzionali, deve motivare la censura in conformità con le esigenze dell'art. 106 cpv. 2 (DTF 133 III 638 consid. 2; art. 117 LTF). A meno che non ne dia motivo la decisione impugnata, condizione il cui adempimento dev'essere dimostrato nel ricorso, il Tribunale federale non tiene inoltre conto di fatti o mezzi di prova nuovi, i quali non possono in ogni caso essere posteriori a detto giudizio (art. 99 cpv. 1 in relazione con l'art. 117 LTF; DTF 133 IV 343 consid. 2.1 pag. 343 seg.).
2.3. Nella fattispecie, il sussistere degli estremi previsti dall'art. 99 LTF non viene fatto valere; già solo per questo motivo, i documenti prodotti dalle parti non possono essere vagliati. Alla presa in considerazione del doc. A, accluso al ricorso osta inoltre la data che porta, che è posteriore a quella del giudizio impugnato.
3.
I Giudici cantonali hanno confermato la liceità della delibera; essi sono giunti a tale conclusione rilevando tra l'altro:
che nessuno contesta il rispetto, da parte della società opponente, dei criteri d'idoneità fissati nel bando e nel capitolato, in particolare che sia inserita nella lista delle ditte che gestiscono impianti di compostaggio attivi e riconosciuti, elaborata dalle autorità competenti;
che, nonostante i tentativi intrapresi a livello comunale e cantonale per rimediarvi, è ben vero che l'opponente non dispone invece di una licenza edilizia comunale per il suo impianto, ma solo di un'autorizzazione ricevuta il 2 marzo 1988 dal Dipartimento delle pubbliche costruzioni in base all'abrogata legge edilizia del 19 febbraio 1973;
che la mancanza, "transitoriamente tollerata sia dall'autorità comunale che da quella cantonale", per quanto possa suscitare perplessità, non va comunque approfondita in questa sede;
che, nella fattispecie, decisivo è infatti che le regole di gara della commessa, rimaste incontestate, non richiedevano alle ditte offerenti di attestare la piena conformità dell'impianto sulla scorta di una licenza edilizia rilasciata dal Municipio, ma solo che fossero inserite nella lista delle ditte che gestiscono impianti di compostaggio attivi e riconosciuti in Ticino e che, pertanto, le doglianze sollevate al proposito dall'insorgente devono essere respinte poiché tardive;
che la ricorrente sapeva o doveva del resto sapere sin da quando è stato pubblicato il concorso che l'opponente rispondeva ai requisiti d'idoneità, in quanto iscritta nella citata lista, e che non avendo impugnato il bando non può più contestare questo aspetto, neppure richiamandosi al principio della parità di trattamento;
che una diversa deduzione violerebbe i principi della buona fede e della sicurezza giuridica;
che nel vuoto cade anche la generica critica con la quale, sempre riferendosi alla sua attività, che sarebbe così tollerata, l'insorgente rimprovera alla deliberataria un comportamento tale da impedire un'effettiva e libera concorrenza;
che da respingere è infine la sommaria censura rivolta contro il fattore di ponderazione e il metodo di valutazione del criterio di aggiudicazione della distanza dalla sede dell'impianto, siccome tale prescrizione non abbisognava di particolari spiegazioni ed è stata perfettamente intesa anche dalla ricorrente, che doveva semmai impugnare il bando.
4.
Per l'insorgente, il querelato giudizio lede - tra l'altro - l'art. 9 Cost. Davanti a una situazione come quella constatata, la conclusione della Corte cantonale secondo cui decisivo è in casu solo il rispetto delle regole di gara, che "non richiedevano alle ditte offerenti di attestare la piena conformità dell'impianto sulla scorta di una licenza edilizia rilasciata dal Municipio" sarebbe infatti insostenibile.
4.1. Come detto, il Tribunale amministrativo ha constatato che l'opponente non dispone di una licenza edilizia comunale per il suo impianto. Secondo i fatti accertati dai Giudici ticinesi, che vincolano anche il Tribunale federale (art. 105 cpv. 1 LTF), dopo essere stata concessa il 22 marzo 1988 la licenza edilizia è stata in effetti annullata con sentenza del 4 luglio 1989 e da quel momento mai più rilasciata.
Registrata tale "mancanza", "transitoriamente tollerata sia dall'autorità comunale che da quella cantonale", ha poi però indicato che essa non aveva nella fattispecie rilievo alcuno. Questo perché le regole di gara "non richiedevano alle ditte offerenti di attestare la piena conformità dell'impianto sulla scorta di una licenza edilizia rilasciata dal Municipio", ma solo l'inserimento nella "lista degli impianti di compostaggio attivi e riconosciuti in Ticino, elaborata dal Dipartimento del territorio" e, siccome non erano state contestate, erano ora vincolanti.
4.2. Come correttamente eccepito nel ricorso, simile argomentazione - in base alla quale viene concluso che la questione della "piena conformità dell'impianto" non va ulteriormente approfondita, precisando che permettere di contestare l'esito della gara scaturito dall'applicazione delle disposizioni accettate senza riserve, sarebbe lesiva dei principi della buona fede, della trasparenza e della sicurezza del diritto - lede tuttavia l'art. 9 Cost. e non può essere tutelata.
4.2.1. Rimproverando alla ricorrente di non avere agito in tempo utile, impugnando le prescrizioni di gara, la Corte cantonale non considera infatti più aspetti, e cioè:
(a) che oggetto di procedure di aggiudicazione possono essere solo beni rispettivamente prestazioni forniti nel rispetto dell'ordinamento giuridico; (b) che di principio ciò non necessita di essere indicato nel bando, poiché risulta dall'art. 5 cpv. 1 Cost., che pone il diritto a fondamento e limite dell'attività dello Stato; (c) che in casi come quello in esame - in cui la Corte cantonale ha in sostanza accertato la non conformità, segnatamente alle normative pianificatorie ed edilizie, dell'impianto necessario per adempiere al processo di smaltimento oggetto della commessa e non sembra nemmeno prevista una soluzione se non quella dello smantellamento della struttura in discussione (risposta del Consiglio di Stato del 9 novembre 2016 all'interrogazione n. 110.16 del 24 giugno precedente) - proprio la sicurezza del diritto imponeva in realtà un'altra conclusione, ovvero l'esclusione dell'offerta presentata dall'opponente (sentenze 2C_1063/2016 del 19 luglio 2017 consid. 2.4; 2D_39/2014 del 26 luglio 2014 consid. 5.5).
4.2.2. A quanto appena indicato nulla mutano inoltre l'argomento secondo cui la ricorrente sapeva o doveva sapere sin da quando è stato pubblicato il concorso che, in quanto iscritta nella lista allestita dalle autorità cantonali, l'opponente rispondeva ai requisiti d'idoneità, rispettivamente l'argomento secondo cui, non avendo impugnato il bando, non può ora contestare questo aspetto, neppure richiamandosi al principio della parità di trattamento.
Come detto, oggetto di procedure di aggiudicazione possono infatti solo essere beni o prestazioni forniti nel rispetto dell'ordinamento giuridico e ciò non necessita di essere esplicitato nel bando; il fatto che l'insorgente potesse forse anche prevedere che l'opponente sarebbe stata tra i concorrenti non le imponeva quindi di agire con più anticipo.
4.2.3. Poiché sia il giudizio impugnato che le risposte vi si riferiscono, va infine aggiunto che da una lettura dell'autorizzazione cantonale rilasciata all'opponente il 2 marzo 1988 per "costruire una stazione di compostaggio" risulta in realtà: (a) che il permesso cantonale avrebbe dovuto avere validità di un anno; (b) che la validità era data solo a partire dal momento in cui esso assumeva carattere definitivo; (c) che i lavori che venivano autorizzati non avrebbero potuto iniziare prima della crescita in giudicato non solo dell'autorizzazione cantonale medesima, ma anche della licenza comunale, in casu inesistente poiché, dopo essere stata rilasciata dal Comune di X._ - ovvero lo stesso ente pubblico che ha indetto la commessa in discussione - è stata in seguito annullata dalle autorità giudiziarie.
Pure il rinvio al documento in questione, accompagnato dall'indicazione secondo cui l'opponente disporrebbe per lo meno di un'autorizzazione cantonale, non è di conseguenza concludente.
4.3. Constatato che il giudizio impugnato lede il divieto d'arbitrio garantito dall'art. 9 Cost., il ricorso va pertanto integralmente accolto senza che sia necessario esaminare le ulteriori critiche di natura costituzionale sollevate dall'insorgente a sostegno delle proprie richieste.
5.
5.1. Per quanto precede, il ricorso è accolto. In riforma della sentenza del 20 aprile 2017, che viene annullata, l'offerta dell'opponente è esclusa dalla gara e la commessa è attribuita alla ricorrente. Da parte sua, il Tribunale amministrativo ticinese dovrà di nuovo esprimersi su spese e ripetibili della sede cantonale (art. 68 cpv. 5 e art. 107 cpv. 2 LTF).
5.2. Le spese giudiziarie seguono la soccombenza. Esse vengono pertanto poste a carico dell'opponente e, in considerazione dei suoi interessi pecuniari, del Comune di X._, in ragione di un mezzo ciascuno (art. 66 cpv. 1 e 4 LTF). Sempre in ragione di un mezzo ciascuno, gli stessi verseranno inoltre alla ricorrente, rappresentata da un avvocato, un'indennità per ripetibili della sede federale (art. 68 cpv. 1 e 2 LTF; sentenze 2C_582/2016 del 22 maggio 2017 consid. 7; 2C_384/2016 del 6 marzo 2017 consid. 3 e 2C_1078/2014 del 9 febbraio 2015 consid. 7).
Per questi motivi, il Tribunale federale pronuncia:
1.
Il ricorso è accolto. La sentenza del 20 aprile 2017 del Tribunale amministrativo del Cantone Ticino è annullata e la commessa è attribuita alla ricorrente.
2.
Le spese giudiziarie di fr. 2'500.-- sono poste a carico dell'opponente e del Comune di X._, in ragione di metà ciascuno.
3.
L'opponente e il Comune di X._ verseranno alla ricorrente, sempre in ragione di metà ciascuno, un'indennità di fr. 2'500.-- a titolo di ripetibili per la sede federale.
4.
La causa è rinviata al Tribunale cantonale amministrativo per nuova decisione sulle spese e sulle ripetibili per la sede cantonale.
5.
Comunicazione ai patrocinatori delle parti, al Comune di X._, per il tramite del suo Municipio, al Dipartimento del territorio, Ufficio lavori sussidiati e appalti, e al Tribunale amministrativo del Cantone Ticino.